猿问

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

代码如下,诸如 edit(id)delete(id) 这些都需要用户登录后才能执行,而我现在用的是下面这种很初级的方法,导致代码很多冗余,不知道有没有统一简单点的判断方法

if not session.get('logged_in'):    flash('请先登录')
    return redirect(url_for('login'))


慕慕森
浏览 154回答 2
2回答

噜噜哒

我用一个简单的办法处理了一下@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() 方法会在每次请求之前执行

人到中年有点甜

对于登陆控制,可以使用 flask-login 扩展,里面有个 decorator 可以进行登陆控制。flaskext.login.login_required(fn)@app.route("/post")@login_requireddef post():     pass
随时随地看视频慕课网APP
我要回答