代碼如下,諸如 edit(id), delete(id) 這些都需要用戶登錄后才能執(zhí)行,而我現(xiàn)在用的是下面這種很初級(jí)的方法,導(dǎo)致代碼很多冗余,不知道有沒(méi)有統(tǒng)一簡(jiǎn)單點(diǎn)的判斷方法if not session.get('logged_in'): flash('請(qǐng)先登錄')
return redirect(url_for('login'))
2 回答

嚕嚕噠
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
我用一個(gè)簡(jiǎn)單的辦法處理了一下
@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() 方法會(huì)在每次請(qǐng)求之前執(zhí)行

人到中年有點(diǎn)甜
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個(gè)贊
對(duì)于登陸控制,可以使用 flask-login 擴(kuò)展,里面有個(gè) decorator 可以進(jìn)行登陸控制。
flaskext.login.login_required(fn)
@app.route("/post")@login_requireddef post(): pass
添加回答
舉報(bào)
0/150
提交
取消