上節(jié)課我們已經(jīng)完成了注冊頁面的編寫,這節(jié)課我們繼續(xù)進(jìn)行登錄頁面的編寫 。
1.路由的配置
這一步跟注冊頁面一樣,加上相應(yīng)的路徑和視圖文件 。這一步比較簡單 。

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

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)目之登錄頁面怎么寫】

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

2)判斷用戶名是否存在
當(dāng)提交表單后,我們需要判斷該用戶是否已經(jīng)注冊

3)判斷用戶名是否錯誤:
當(dāng)用戶名已經(jīng)存在的時候,我們就要看下密碼是否正確了,但是在注冊頁面的時候,我們把密碼設(shè)置為hashid了,因此也需要將密碼轉(zhuǎn)換一下再做判斷
①轉(zhuǎn)換密碼為hashid

②將數(shù)據(jù)庫中的密碼與提交密碼進(jìn)行比對

5.用session記錄登錄狀態(tài):
將用戶名與ID記錄在session中

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

7.需要修改的地方
當(dāng)我們再進(jìn)入登錄頁面的時候,需要做下判斷,用戶是否已經(jīng)登錄,如果登錄了,顯示已登錄,否則進(jìn)入到的是登錄頁面
1)首先判斷session是否記錄了登錄狀態(tài):

2)判斷cookie是否記錄了登錄狀態(tài),如果登錄了顯示已經(jīng)登錄,否則將cookie登錄狀態(tài)同步到session

8.最終界面

,
推薦閱讀
- 騰訊新聞如何快速登錄 具體操作流程
- 注冊咨詢師考試時間
- 電腦登錄密碼忘記破解方法 筆記本忘記密碼了怎么打開
- 微信突然登錄不上去了怎么回事
- Glary Utilities Pro修復(fù)注冊表的操作方法
- Windows優(yōu)化大師清理系統(tǒng)注冊表的方法
- OPPO手機(jī)云登錄
- 申請qq號注冊新賬號
- 魯大師怎么清理注冊表?
- 注冊資金100萬實(shí)繳多少?
