之前登錄注冊(cè)的功能都已經(jīng)完成,但是登錄成功回到首頁發(fā)現(xiàn)還是白茫茫的一片,對(duì)的,title一直都寫得博客,那么最終目的也是寫出一個(gè)輕博客來,但是,在發(fā)表文章之前是不是要先記錄一下登錄狀態(tài)呢?

用戶登錄

登錄狀態(tài)的記錄方式有很多種,首先想到的應(yīng)該就是使用flask自帶的session,但flask還提供了一種更方便的擴(kuò)展,即flask-login包,使用方式還和之前一樣,首先需要安裝:

pip3.6 install flask-login

然后在default.py中進(jìn)行初始化:

from flask.ext.login import LoginManager

......

login_manager=LoginManager()
login_manager.session_protection="strong" #可設(shè)置為None,basic,strong已提供不同的安全等級(jí)login_manager.login_view="login" #設(shè)置登錄頁

然后按照需求對(duì)User模型進(jìn)行修改,因?yàn)镕lask-Login要求User模型必須實(shí)現(xiàn)四個(gè)方法,分別為:

is_authenticated() 判斷是否登錄,登錄返回True,否則返回False
is_active() 是否允許登錄,即用戶是否已被禁用,如禁用返回False
is_anonymous() False為普通用戶
get_id() 返回用戶唯一標(biāo)識(shí)符,使用Unicode編碼

網(wǎng)友評(píng)論