flask蓝图可以实现应用程序的模块化,即通常作用于相同的url前缀,eg:/user/id,/user/profile等类似这样,可以放在一个模块当中,这样会让应用更加清晰便于开发与维护。
这里有个例子:(来源:Python web开发实战-董伟明)
模块user.py:
from flask import Blueprint
bp = Blueprint('user', __name__, url_prefix='user')
@bp.route('/')
def index():
return "User's Index page"
通常每个模块会暴露出一个全局变量bp。
主程序app_bp.py:
from flask import Flask
import user
app = Flask(__name__)
app.register_blueprint(user.bp)
if __name__ == "__main__":
app.run(host='0.0.0.0', port=9000, debug=True)
使用register_blueprint函数注册模块,若是不想要模块,去掉对应的注册语句就OK了。