蓝图 blueprint
简单的说,就是帮助我们对flask程序进行目录结构的划分;django项目创建时,是自动生成项目目录,而在flask这里,需要我们自己来规划,这就需要blueprint来将整个项目进行规划和联系
-
目录结构
-
导入配置文件时的注意事项
导入配置文件 from . import settings from flask import Flask def create_app(): app = Flask(__name__) @app.before_request def f1(): print('f1') # 注意导包的顺序:导入的顺序要在配置文件加载完成后再导入,因为account或者user等蓝图中有可能会使用settings中的数据 from .views.account import account from .views.user import user app.register_blueprint(account) app.register_blueprint(user) return app
-
蓝图的创建
from flask import Blueprint,url_for # 创建了一个蓝图对象 account = Blueprint('account',__name__) @account.before_request def xx(): print('xx')
-
路由url_for
from flask import Blueprint,url_for # 创建了一个蓝图对象 account = Blueprint('account',__name__) @account.before_request def xx(): print('xx') @account.route('/login') def login(): url = url_for('account.register') print(url) return 'Login' @account.route('/register') def register(): return 'register'