蓝本使用
说明
当大量的视图函数放在一个文件中,很明显不太合适。根据需要将视图函数放在不同的文件才比较合适,蓝本就是用来干这个的。
蓝本
创建一个文件user.py
,内容如下:
# 导入类库
from flask import Blueprint
# 创建对象:蓝本名称、所在模块、url_prefix路由前缀
user = Blueprint('user', __name__, url_prefix='/user')
# 添加视图函数
@user.route('/login/')
def login():
return '欢迎登录'
@user.route('/register/')
def register():
return '欢迎注册'
使用
在主程序中使用蓝本
# 导入蓝本
from user import user
# 注册蓝本,注册时也可以传入相关的参数,并且会覆盖创建时的参数
app.register_blueprint(user)
补充
- 反向构造蓝本中的路由
# url_for函数的参数为:'蓝本.视图函数'
print(url_for('user.login'))
- 蓝本中错误定制
# 错误定制:只在本蓝本中生效
# @user.errorhandler(404)
# 错误定制:全局有效
@user.app_errorhandler(404)
def page_not_found(e):
return '页面好像走丢了!'