0

以前は読み取り専用の小さな Flask アプリをいくつか作成しましたが、そのプロセスは本当に楽しかったです。現在、Flask アプリに管理セクションを追加していて、ガイダンスを探しています。

現在のディレクトリ構造は次のようになります。

├── Makefile
├── Procfile
├── app.py
├── requirements.txt
├── static
│   ├── css
│   ├── fonts
│   ├── img
│   └── js
└── templates
    ├── about.html
    ├── base.html
    ├── contact.html
    └── index.html

私の app.py ファイルは次のようになります。

import os
from flask import Flask, render_template

app = Flask(__name__)
app.debug = True


# MAIN APPLICATION
@app.route('/')
@app.route('/work/<gallery>/')
def index(gallery='home'):
    return render_template('index.html', gallery=gallery)


@app.route('/views/<view>/')
def view(view):
    return render_template(view + '.html')


@app.route('/data/<gallery>/<size>/')
def data(gallery='home', size='md'):
    data = '[\
        {"image": "/static/img/photos/md/img_1.jpg","color": "white"},\
        {"image": "/static/img/photos/md/img_2.jpg","color": "white"},\
        {"image": "/static/img/photos/md/img_3.jpg","color": "black"}\
        ]'
    return data


if __name__ == '__main__':
    # Bind to PORT if defined, otherwise default to 5000.
    port = int(os.environ.get('PORT', 5000))
    app.run(host='0.0.0.0', port=port)

いくつかの調査を行ったところ、一緒に動作するように見えるBlueprints フレームワークFlask-Adminが見つかりました。より効率的または簡単にセットアップできる別の提案はありますか?

4

1 に答える 1

1

ブループリントを使用すると、機能を分離されたモジュールにグループ化できます。

サービスが非常に小さいと思われる場合は、ブループリントを使用する必要はありません。例のように、Flaskアプリケーションにルートを追加できます。

ただし、アプリケーションが大きくなる場合は、ブループリントを使用してアプリケーションを細かく分割することをお勧めします。あなたの例では、「仕事」は最初に考えられる青写真であり、「ビュー」は別の青写真です。

Flask-Adminを使用すると、管理インターフェースa-laDjangoadminを構築できます。アプリケーションの残りの部分をどのように構成しているかは関係ありません。Flask-Adminを追加するだけで機能します。

于 2013-03-15T08:01:18.973 に答える