小编典典

如何将flask app分成多个py文件?

all

我的烧瓶应用程序当前由一个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正常工作?


阅读 72

收藏
2022-06-20

共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
文档

2022-06-20