小编典典

将Python Flask应用拆分为多个文件

flask

我在理解如何将Flask应用程序拆分为多个文件时遇到麻烦。

我正在创建一个Web服务,并且想将api拆分为不同的文件(AccountAPI.py,UploadAPI.py等),只是我没有一个巨大的python文件。

我读过你可以使用“蓝图”来做到这一点,但我不确定这条路线对我来说是正确的。

最终,我想运行一个Main python文件,并包含其他文件,以便在运行时将它们视为一个大文件。

例如,如果我有Main.py和AccountAPI.py,我希望能够做到这一点:

Main.py:

from flask import Flask
import AccountAPI

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

AccountAPI.py:

@app.route("/account")
def accountList():
    return "list of accounts"

我知道这个例子显然行不通,但是有可能这样做吗?


阅读 1485

收藏
2020-04-05

共1个答案

小编典典

是的,蓝图是实现此目标的正确方法。你正在尝试做的事情可以这样实现:

主程序

from flask import Flask
from AccountAPI import account_api

app = Flask(__name__)

app.register_blueprint(account_api)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

AccountAPI.py

from flask import Blueprint

account_api = Blueprint('account_api', __name__)

@account_api.route("/account")
def accountList():
    return "list of accounts"

如果这是一个选项,则你可以考虑为不同的API /蓝图使用不同的URL前缀,以便将它们完全分开。可以对上面的register_blueprint调用稍作修改即可完成此操作:

app.register_blueprint(account_api, url_prefix='/accounts')
2020-04-05