一尘不染

如何将Flask应用划分为多个PY文件?

flask

我的flask应用程序当前包含一个test.py具有多个路由和已main()定义路由的文件。有什么办法可以创建一个test2.py文件,其中包含未处理的路由test.py

@app.route('/somepath')
def somehandler():
    # Handler code here

我担心其中包含太多路由,test.py并且希望使其运行python test.py,这样我也可以test.py像使用同一文件一样提取这些路由。为了使此功能正常运行,我必须进行哪些更改test.py和/或进行哪些更改test2.py


阅读 1403

收藏
2020-04-05

共1个答案

一尘不染

你可以使用常规的Python包结构将你的应用分为多个模块,请参见Flask文档。

然而,

Flask使用蓝图的概念来制作应用程序组件并支持应用程序内或跨应用程序的通用模式。

你可以在单独的文件中将应用程序的子组件创建为蓝图:

simple_page = Blueprint('simple_page', __name__, template_folder='templates')
@simple_page.route('/<page>')
def show(page):
    # stuff

然后在主要部分中使用它:

from yourapplication.simple_page import simple_page

app = Flask(__name__)
app.register_blueprint(simple_page)

蓝图还可以捆绑特定资源:模板或静态文件。请参阅Flask文档以获取所有详细信息。

2020-04-05