18-使用钩子函数判断用户登录权限-登录前缀

钩子函数的两种应用:

        (1). 应用在app上

before_first_request
before_request
after_request
teardown_request

        (2). 应用在蓝图上

before_app_first_request  #只会在第一次请求执行,往后就不执行, (待定,此属性没调试通过)
before_app_request  # 每次请求都会执行一次(重点)
after_app_request # 每次响应返回都会执行
teardown_app_request # 每次请求响应结束后执行,收尾

代码实例:

# 应用在app上的钩子函数
 
required_login_list = ["/user/center",
                       "/user/change",
                       "/article/publish",
                       '/user/upload_photo',
                       '/user/photo_del',
                       '/article/add_comment',
                       '/user/aboutme',
                       "/user/showabout", ]
 
 
# 每次请求都会执行一次(重点)
@user_bp1.before_app_request
def first_reqeust():
    print("before_app_request", request.path)
    if request.path in required_login_list:
        id = session.get("uid")
        if not id:
            return render_template('users/login.html')
        else:
            user = User.query.get(id)
            # g对象, 本次请求的对象;本次请求的全局对象,过了本次就失效
            g.user = user
 
# 每次响应返回都会执行
@user_bp1.after_app_request
def after_request_test(response):
    response.set_cookie("a", "bbb", max_age=19)
    print("after_app_request")
    return response
 
 
# 每次请求响应结束后执行,收尾
@user_bp1.teardown_app_request
def teardown_request_test(response):
    print("teardown_request_test")
    return response

        (1). 设置钩子函数,请求指定路径时校验session

 

         (2).  登录页面设置session

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值