Flask怎样从其他Python文件导入app.route视图函数

用Blueprint这个东西实现;

主文件:

flask_main.py

import flask

from flask_pyecharts.flask_moudle2 import account_api

app = flask.Flask(__name__)

app.register_blueprint(account_api)

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

app.run()

引入的一个Module的文件,这个文件中写了视图函数

flask_moudle2.py

from flask import Blueprint

account_api = Blueprint('account_api', __name__)

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

界面上访问第一个函数和第二个函数都返回正常

贴一下官网蓝图的解释:

Flask 用 蓝图(blueprints) 的概念来在一个应用中或跨应用制作应用组件和支持通用的模式。蓝图很好地简化了大型应用工作的方式,并提供给 Flask 扩展在应用上注册操作的核心方法。一个 Blueprint 对象与 Flask 应用对象的工作方式很像,但它确实不是一个应用,而是一个描述如何构建或扩展应用的 蓝图 。

每个蓝图可以指定自己的templates和static文件夹,指定方法就是Blueprint的参数

地址:http://docs.jinkan.org/docs/flask/blueprints.html

参考:https://stackoverflow.com/questions/15231359/split-python-flask-app-into-multiple-files/15231623

相关推荐

Leave a Comment