为了账号安全,请及时绑定邮箱和手机立即绑定

我现在用的是下面这种很初级的方法,导致代码很多冗余,有没有统一简单点的判断方法?

我现在用的是下面这种很初级的方法,导致代码很多冗余,有没有统一简单点的判断方法?

慕慕森 2023-04-15 18:14:15
代码如下,诸如 edit(id), delete(id) 这些都需要用户登录后才能执行,而我现在用的是下面这种很初级的方法,导致代码很多冗余,不知道有没有统一简单点的判断方法if not session.get('logged_in'):    flash('请先登录')     return redirect(url_for('login'))
查看完整描述

2 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

我用一个简单的办法处理了一下

@app.before_request
def accessFilter():    //处理
    publicUrl = ['login', 'static', 'register']
    if not g.user:
        if request.url.split('/')[3] not in publicUrl:            //redirect( url_for('login') ) etc.

其中 accessFilter() 方法会在每次请求之前执行


查看完整回答
反对 回复 2023-04-18
?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

对于登陆控制,可以使用 flask-login 扩展,里面有个 decorator 可以进行登陆控制。

flaskext.login.login_required(fn)

@app.route("/post")@login_requireddef post():
    pass


查看完整回答
反对 回复 2023-04-18
  • 2 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信