创建烧瓶模块并划分应用程序

时间:2020-08-31 07:56:33

标签: python django flask module

我正在构建一个小型flask应用程序,并且希望在我的项目中使用模块化结构。

在Django中,我可以只编写两个单独的文件夹,并使用它们自己的urls.py,在我的settings.py中注册它们,并在基础urls.py中创建到它们的路由。

如何在烧瓶中实现这种模块化? 最好使用尽可能少的代码。

如果没有扩展就可以轻松完成所有这些操作,则奖励积分。

1 个答案:

答案 0 :(得分:0)

您正在寻找blueprints

app.py
blueprints/
    sample_blueprint.py
    another_blueprint.py

蓝图就像应用程序,而不是应用程序。 (非常la脚的解释,但让我向您展示一些代码)

# sample_blueprint.py
from flask import Blueprint

# just like `app = Flask(__name__)`
SAMPLE_BLUEPRINT = Blueprint('sample_blueprint', __name__)

# just like `@app.route('/sample')`
@SAMPLE_BLUEPRINT.route('/sample')
def sample():
    return 'Sample'

然后必须在app.py中进行注册。

# app.py
from flask import Flask

from blueprints.sample import SAMPLE_BLUEPRINT


app = Flask(__name__)

# Register all the blueprints, url_prefix is optional
app.register_blueprint(SAMPLE_BLUEPRINT, url_prefix='/sample-br')


if __name__ == '__main__':
    app.run(debug=True)

您现在可以运行应用程序(python3 app.py并转到localhost:5000/sample-br/sample,以查看蓝图路线的响应。

此代码未经测试。这只是给您一个入门的想法。请阅读文档并自行尝试,以了解蓝图如何适合Flask项目。