使用admin部分设置Python Flask应用程序

时间:2013-03-14 20:32:19

标签: python flask

我之前已经构建了一些小型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 frameworkFlask-Admin似乎可以合作。有没有人有一个可能更有效或更容易设置的替代建议?

1 个答案:

答案 0 :(得分:1)

蓝图允许您将功能分组到隔离的模块中。

如果您觉得您的服务非常小,则无需使用蓝图 - 您可以像在示例中一样向Flask应用程序添加路线。

但是,如果应用程序变大,最好使用蓝图将其拆分为更小的部分。在您的示例中,“工作”是第一个可能的蓝图,“视图”是另一个,等等。

Flask-Admin允许您构建管理界面a-la Django admin。无论你如何构建你的应用程序的其他部分 - 你添加Flask-Admin它只是有效。

相关问题