介绍说明:
当大量的视图函数存放在一个文件中,很明显是不合适的。最好是根据功能模块进行划分,将相关的功能模块放在同一文件,蓝本就是用来解决这个问题的。
-
使用:
- user.py
# 导入类库
from flask import Blueprint, url_for
# 创建对象,可以指定统一的前缀
user = Blueprint('user', __name__, url_prefix='/user')
# 添加视图函数
@user.route('/login/')
def login():
# 当反向构造同一蓝本中的路由时,蓝本名可以省略,但是不能省略'.'
return url_for('.register')
return '欢迎登录'
@user.route('/register/')
def register():
return '欢迎注册'
- manage.py
from user import user
# 注册蓝本,注册时可以再次设置先关参数,而且优先级较高
app.register_blueprint(user, url_prefix='/u')
@app.route('/urlfor/')
def urlfor():
# 构造蓝本中的路由时参数这样传递:'蓝本名.视图函数名'
return url_for('user.login')