用户名渲染,使用flask的g对象,在用户请求进来之后,触发视图函数之前,拿用户的信息,放到g对象里面
@bp.before_request
def before_request():
""" 请求进入视图函数之前判断用户是否登录,若已登录,则将当前用户的信息添加到g对象里面 """
if config.CMS_USER_ID in session:
user_id = session.get(config.CMS_USER_ID)
user = CMSUser.query.get(user_id)
if user:
g.cms_user = user
退出功能
@bp.route('/logout/')
@login_required
def logout():
del session[config.CMS_USER_ID]
return redirect(url_for('cms.login'))
html
代码优化,将钩子函数单独存放到前置处理中
没有这行代码hooks不会被执行