日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫

上節(jié)課我們已經(jīng)完成了注冊頁面的編寫,這節(jié)課我們繼續(xù)進(jìn)行登錄頁面的編寫 。

1.路由的配置
這一步跟注冊頁面一樣,加上相應(yīng)的路徑和視圖文件 。這一步比較簡單 。

django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



2.get請求視圖文件的配置
跟注冊頁面一樣,我們會收到兩種請求,一種是get請求,一種是post請求 。
首先我們來看一樣get請求,跟注冊頁面一樣,頁面收到get請求之后會跳轉(zhuǎn)到登錄頁面 。

django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



3.模板文件的設(shè)置
我們?nèi)耘f需要設(shè)置幾個選項(xiàng):用戶名、密碼、登錄界面和記住用戶名幾個選項(xiàng) 。
整體上跟注冊頁面大同小異,唯一不同的地方是,我們多了一個checkbox選中觸發(fā)事件,這個選項(xiàng)我們命名為remember,在設(shè)置這個選項(xiàng)的時候我們會用到 。
【django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫】
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



4.post請求視圖文件的配置
剛才我們的get請求已經(jīng)設(shè)置好了,當(dāng)用戶在輸入用戶名與密碼點(diǎn)擊登錄的時候,post表單就會被提交,然后我們就應(yīng)該設(shè)置post了 。
1)獲取數(shù)據(jù):
我們需要將提交過來的用戶名密碼,獲取過來:
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


2)判斷用戶名是否存在
當(dāng)提交表單后,我們需要判斷該用戶是否已經(jīng)注冊
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


3)判斷用戶名是否錯誤:
當(dāng)用戶名已經(jīng)存在的時候,我們就要看下密碼是否正確了,但是在注冊頁面的時候,我們把密碼設(shè)置為hashid了,因此也需要將密碼轉(zhuǎn)換一下再做判斷
①轉(zhuǎn)換密碼為hashid
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


②將數(shù)據(jù)庫中的密碼與提交密碼進(jìn)行比對
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



5.用session記錄登錄狀態(tài):
將用戶名與ID記錄在session中
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



6.記住用戶名的設(shè)置
當(dāng)我們點(diǎn)擊記住用戶名的時候,我們會發(fā)現(xiàn)post請求中會對了一對參數(shù)‘remember’:’on‘,因此我們可以通過post請求來判斷用戶是否點(diǎn)擊了記住用戶名,當(dāng)點(diǎn)擊用戶名,我們講登錄狀態(tài)用cookie記錄
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫



7.需要修改的地方
當(dāng)我們再進(jìn)入登錄頁面的時候,需要做下判斷,用戶是否已經(jīng)登錄,如果登錄了,顯示已登錄,否則進(jìn)入到的是登錄頁面
1)首先判斷session是否記錄了登錄狀態(tài):
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


2)判斷cookie是否記錄了登錄狀態(tài),如果登錄了顯示已經(jīng)登錄,否則將cookie登錄狀態(tài)同步到session
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


8.最終界面
django注冊登錄功能的實(shí)現(xiàn) Django項(xiàng)目之登錄頁面怎么寫


,

    推薦閱讀