19

PHP アプリケーションを Python に移植することを計画しています。アプリケーションは、主にデータの収集と処理に関するものです。メイン アプリケーションは、スタンドアロンのコマンド ライン アプリケーションとして実行されます。基本的に非常に軽量なレポート インターフェイスであるアプリケーションへの Web インターフェイスがあります。

PHP 版ではフレームワークを使用していませんでしたが、Python は初めてなので、Django や Genshi のようなものを使用した方が有利ではないかと考えています。注意点は、アプリケーションと共に配布する必要があるフレームワーク パーツによって、アプリケーションの配布が圧倒されたくないということです。

この状況では、Python で cgi インポートのみを使用するのが最善の方法ですか? フレームワークはオーバーヘッドが大きすぎると思う傾向がありますが、おそらく私はフレームワークについて非常に「Python」的な方法で考えているわけではありません。このシナリオでは、どのような提案がありますか?

4

8 に答える 8

15

コマンドラインの Python である IMO が間違いなく最初に登場します。それがあなたがやっていることの核心であるので、それを働かせてください。

問題は、コマンド ライン アプリケーションから Web フレームワークの ORM を使用することが明確でないことです。Django は、コマンドライン アプリから ORM を使用するための具体的な手順を提供します。それらは最初は面倒ですが、長期的には命の恩人だと思います. 私は、顧客が提供したファイルの巨大なアップロードに多用しています。

生の CGI を使用しないでください。不可能ではありませんが、うまくいかないことが多すぎて、フレームワークによってすべて解決されています。なぜ何かを再発明するのですか?他の人のコードを使用するだけです。

フレームワークには学習が含まれますが、実際の「オーバーヘッド」はありません。彼らは遅くはありません。これらは、作成またはデバッグする必要のないコードです。

  1. いくつかの Python を学びます。

  2. Djangoチュートリアルを実行します。

  3. Web アプリの構築を開始します。

    を。Django プロジェクトを開始します。そのプロジェクトで小さなアプリケーションをビルドします。

    b. Django ORM を使用して新しいモデルを構築します。モデルの Django 単体テストを作成します。動作することを確認してください。デフォルトの管理ページを使用して、さまざまな操作を行うことができます。Web サイト全体をまだ構築しないでください。

  4. Django ORM を使用してコマンドライン アプリを動作させます。基本的に、このアプリがうまく動作するようにするには、設定ファイルを微調整する必要があります。設定/構成セクションを参照してください。

  5. コマンド ラインと既定の管理者が実行されたら、Web アプリを完成させることができます。

フレームワークの黄金律は次のとおりです。 これは、作成、デバッグ、または保守する必要のないコードです。 それらを使用します。

于 2008-09-25T21:14:33.413 に答える
11

配布が簡単な(小さいので) web.pyのようなものを使用することを検討するかもしれません。また、Djangoのようにフレームワークに送信する必要がないため、他のツールをそれに適応させるのも簡単です。 。

ただし、Pythonコミュニティで最も愛されているフレームワークではありませんが、それはあなたにぴったりのフレームワークかもしれません。web2pyもチェックするかもしれませんが、私はそれについてあまり知りません。

于 2008-09-25T23:17:24.930 に答える
4

プロジェクトの規模によって異なります。スタンドアロン アプリケーションを呼び出す以前の php スクリプトが数個しかない場合は、おそらく cgi アプリケーションを使用するでしょう。

データベース、URL の書き換え、テンプレート、ユーザー管理などに使用する場合は、フレームワークを使用することをお勧めします。

もちろん、移植する前に、言語を切り替えるだけの価値があるかどうか、または必要な特定の Python 機能があるかどうかを検討してください。

幸運を!

于 2008-09-25T21:07:44.507 に答える
3

最近、 web.pyを使用して PHP アプリを Python に移植しました。フレームワークが進むにつれて、最小限の依存関係で非常に軽量になり、邪魔にならない傾向があるため、探している妥協点になる可能性があります.

ただし、それはすべて最初のアプリケーションに依存します。大規模なアプリケーションでは、フル機能のフレームワークで配管を処理する利点が、すべてのフレームワーク コードをドラッグする必要があるという欠点を上回る傾向があるためです。

于 2008-09-25T21:22:30.477 に答える
2

ピートの愛のために、フレームワークを使用してください! 文字通り、cherrypy から django、albatross まで、何十ものフレームワークがあります。実際、Rails の人気について人々が不満を言うとき、膨大な数の Web フレームワークが指摘されています。

Python Web 開発コミュニティは、単一の声で分割されていません。しかし、それはまったく別のトピックです!重要なのは、かなり軽量ですが、1 日を乗り切るのに十分強力な "Web ツールキット" (例: albatross) があることです (例: ボットの自動検証が単純なフォーム送信の偽造を行わなかったり、MVC をきれいに保つのに役立ちます)。 )。

「フレームワークが多すぎない」ものが必要な場合は、こちらをご覧ください。

http://wiki.python.org/moin/WebFrameworks

「テンプレートを提供する基本的なフレームワーク」の下を見てください。それらはすべて軽量であり、Mac トラックを無理やり押し込むことなく、すべての「車輪を再発明する必要はありません」ということを行います。

于 2009-09-17T02:47:39.630 に答える
2

Django を使用すると、Web サイトをすばやく作成できます。それは確かです。それを使用するために Python の達人である必要はありません。また、その設計は非常に Pythonic であり、「魔法」が実際に行われているわけではないため、途中で Python を学習するのに役立ちます。

例から始めて、TwiD からいくつかの django スクリーンキャストをチェックしてください。

ゆっくりと始めて、管理者を微調整し、シェル経由でそれをいじるのが最初の方法です。ORM を使いこなし、物事がどのように機能するかを理解したら、実際のものを構築し始めましょう!

フレームワークは、S. Lott が言ったように、パフォーマンスの問題を引き起こすことはありません。それは、維持する必要のないコードであり、それが最良の種類です。

于 2008-09-25T22:47:33.830 に答える
2

フレームワークに行きます。Python は PHP のように Web に特化したものではないため、セッション処理などの基本的なものは、セッション処理を使用しないと悪夢です。

django が多すぎると思われる場合は、非常に小さくても便利な web.py のような軽いものを試すことができます。

于 2008-09-26T11:31:45.990 に答える
0

アプリケーションを配布する方法によって異なります。
内部でのみ使用する場合は、django を使用してください。それを扱うのは喜びです。ただし、django は実際には配布タスクが不十分です。django-applications はセットアップが面倒です。

于 2008-09-25T21:11:08.523 に答える