11

私は Python のマイクロフレームワークを調べていて、Flask と Bottle という 2 つの興味深いオプションに出会いました。それぞれにいくつかの類似した機能があります。私が気付いたことの 1 つは、すべてのサンプル サイトで、単一の Python ファイル内にあるすべてのアプリケーション コードが示されていることです。明らかに、中程度の規模のサイトであっても、これをすぐに管理するのは困難です。これらのフレームワークのいずれか (または両方) は、異なるファイル間の分割をサポートしていますか? もしそうなら、それはどのように達成されますか?

私は Django に精通しており、もう少し構造化されているのが好きですが、より軽量で強力なものを使用したいと考えています。

4

5 に答える 5

9

ボトルの経験はありませんが、より大きなアプリケーションについてはFlask のドキュメントを参照してください。私のFlaskアプリはすべてModule、そのページが推奨するように、Pythonモジュールごとに1つずつ、複数のFlaskオブジェクトを使用しており、問題なく動作しているようです.

オブジェクトの優れている点のModule1 つは、それぞれのディスパッチをカスタマイズして、アプリ内に URL ルーティングの「ドメイン」を作成できることです。たとえば、コードの一部で Windows アプリを真似ようとしているので、CaseInsensitiveModule大文字と小文字を区別しないディスパッチをRemoteModule行う があり、Flask/Werkzeug ルーティング システムを使用して HTTP リクエストを Python メソッドに変換するように を装備しました。

(現在の Flask バージョンでは、Modules が s になっていることに注意してくださいBlueprint。)

于 2011-03-21T18:32:21.417 に答える
2

これが機能しないようにする方法がどのようにあるのかわかりませ。Flask と Bottle は、Django と同様に、その下にあるのは Python だけであり、Python を使用すると、ファイルをモジュールに分割できます。関連する関数をメイン スクリプトにインポートする限り、それらはそこで定義されているかのように機能します。

于 2011-03-21T18:23:49.707 に答える
1

プロジェクトの規模によっては明らかに他の方法もあるとはいえ、Flask でこれを行うことに関する私の記事を使い始めている人が何人かいることは知っています。小さなプロジェクト用のファイルベースのモジュールのディレクトリタイプのモジュールを削除しても。http://www.cols-code-snippets.co.uk/2011/02/my-take-on-flask-application-skeleton.htmlをご覧ください。

于 2011-03-22T12:26:03.293 に答える
1

最近、Google App Engine で Bottle+Jinja2 を使い始める方法についての一種のチュートリアルを投稿しました。ここで強調したいのは、プロジェクト ファイルを整理する方法です。使用できるものを入手できる場合があります: http://codeasoetry.wordpress.com/2011/11/27/how-to-build-a-web-app-using-bottle-with-jinja2-in- google-app-engine/

于 2011-10-27T10:10:38.510 に答える
0

マイクロサービス/アプリケーション/ウェブサイトのボトルは非常に単純で軽量であるため、何を達成しようとしているのかによって異なります。それまでにアプリケーションが成長することを計画している場合は、多くの拡張機能があるため、Flask が適切なオプションになる可能性があります。約 40 から 50 のマイクロ サービスをボトルに記述しましたが、問題に直面したことはありません。

于 2014-09-24T20:46:12.507 に答える