36 - 个人博客项目-07-退出登录 和 登录前置校验

一. 退出登录

        (1).  编写退出登录函数 apps / user / views.py
# 退出登录
@user_bp.route("/logout")
def logout():
    # 删除session
    # del session["uid"]
    session.clear()
    return redirect(url_for("user.index"))
        (2). 编写base.html公共模板,配置退出路径
<li><a href="{{ url_for('user.logout') }}">退出</a></li>

二. 登录前置校验

        (1). 在apps / user / views.py中定义钩子函数,判断哪些页面需要登录才能访问
# 需要校验的路径
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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值