82

フラスコアプリケーションを作成したばかりで、これまでのところ「Hello world!」用のルーターがあります。テンプレート。

機能をもう少し (たくさん) 追加したいのですが、アプリ ディレクトリをどのように構成すればよいのでしょうか。

Flask アプリを構築する最も一般的な方法は何ですか? たとえば、routes.pyすべてのルートに対して を作成する必要がありますか? SQLAlchemy のものはどこに行きますか? モデルは にあるべきmodels.pyですか?

4

11 に答える 11

45

Flaskドキュメントの[パターン]セクションにある[より大きなアプリケーション]ページを確認する必要があります:http://flask.pocoo.org/docs/patterns/packages/。これは、アプリケーションがモジュールではなくパッケージを要求するときにほとんどの人が従うモデルのようです。

views.pyはあなたが呼んでいるものだと信じていますroutes.py。その後、モデルが入りmodels.py、フォームが入りますforms.py

于 2013-01-20T03:16:42.810 に答える
23

アプリケーションを分割する場合は、機能構造ではなく部門を使用します。一度にこれらの部門コンポーネントの 1 つに取り組む可能性が高いため、私はこれをお勧めします。

このタイプの構造は、異なるユーザー グループが異なるタイプのビューを使用するマーケットプレイスまたは SaaS アプリに適しています。API のみのフラスコ アプリ機能分割を使用する場合があります。

Flask ブループリントの例を次に示します。ブループリントは基本的に、Flask アプリケーションをより管理しやすい部分に分割する方法に関するアドバイスを文書化したものです。詳細については、http: //exploreflask.com/en/latest/blueprints.htmlを参照してください。

以下は分割の例です。各機能がどのようにグループ化されているかを確認してください。

yourapp/
    __init__.py
    admin/
        __init__.py
        views.py
        static/
        templates/
    home/
        __init__.py
        views.py
        static/
        templates/
    control_panel/
        __init__.py
        views.py
        static/
        templates/
    models.py

機能例はこちら >

yourapp/
    __init__.py
    static/
    templates/
        home/
        control_panel/
        admin/
    views/
        __init__.py
        home.py
        control_panel.py
        admin.py
    models.py
于 2016-11-11T17:50:04.837 に答える
12

フラスコはマイクロフレームワークであり、ファイルとフォルダーの作成方法を決定する必要があると思います。

私はこのように使用します:

これはDjango構造に近い

あなたが望むものを与えるために、いくつかのプロジェクトを見ることをお勧めします

于 2013-01-20T11:02:19.090 に答える
9

フラスコプロジェクトの初心者にやさしいシンプルな構造を探している人は誰でもこれが役立つかもしれません:

   |__movies 
     |__run.py 
     |__app     
        ├── templates
        │   └── index.html
        │   └── signup.html
        └── __init__.py
        └── routes.py

ここで、「movies」はメイン アプリケーションに付けられた名前です。「run.py 」と「 app 」というフォルダーが含まれています。「app 」フォルダーには、「 templates」フォルダー、「 __init __. py」、「routes.py 」など、必要なすべてのフラスコ ファイルが含まれています。

の内容:

run.py :

from app import app

__init.py__ :

from flask import Flask

app = Flask(__name__)

from app import routes


app.run(debug=True)

ルート.py :

from app import app

@app.route('/')
@app.route('/index')
def index():
    return "Hello, World!"
于 2018-04-13T11:17:54.410 に答える
5

ここにある cookiecutter テンプレートからインスピレーションを得て、アプリ開発をすぐに始めることができます

于 2014-11-22T13:31:21.343 に答える