tft每日頭條

 > 知識

 > django注冊登錄功能的實現

django注冊登錄功能的實現

知識 更新时间:2024-12-16 21:40:52

上節課我們已經完成了注冊頁面的編寫,這節課我們繼續進行登錄頁面的編寫。


1.路由的配置

這一步跟注冊頁面一樣,加上相應的路徑和視圖文件。這一步比較簡單。

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)1


2.get請求視圖文件的配置

跟注冊頁面一樣,我們會收到兩種請求,一種是get請求,一種是post請求。

首先我們來看一樣get請求,跟注冊頁面一樣,頁面收到get請求之後會跳轉到登錄頁面。

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)2


3.模闆文件的設置

我們仍舊需要設置幾個選項:用戶名、密碼、登錄界面和記住用戶名幾個選項。

整體上跟注冊頁面大同小異,唯一不同的地方是,我們多了一個checkbox選中觸發事件,這個選項我們命名為remember,在設置這個選項的時候我們會用到。

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)3


4.post請求視圖文件的配置

剛才我們的get請求已經設置好了,當用戶在輸入用戶名與密碼點擊登錄的時候,post表單就會被提交,然後我們就應該設置post了。

1)獲取數據:

我們需要将提交過來的用戶名密碼,獲取過來:

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)4

2)判斷用戶名是否存在

當提交表單後,我們需要判斷該用戶是否已經注冊

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)5

3)判斷用戶名是否錯誤:

當用戶名已經存在的時候,我們就要看下密碼是否正确了,但是在注冊頁面的時候,我們把密碼設置為hashid了,因此也需要将密碼轉換一下再做判斷

①轉換密碼為hashid

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)6

②将數據庫中的密碼與提交密碼進行比對

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)7


5.用session記錄登錄狀态:

将用戶名與ID記錄在session中

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)8


6.記住用戶名的設置

當我們點擊記住用戶名的時候,我們會發現post請求中會對了一對參數‘remember’:’on‘,因此我們可以通過post請求來判斷用戶是否點擊了記住用戶名,當點擊用戶名,我們講登錄狀态用cookie記錄

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)9


7.需要修改的地方

當我們再進入登錄頁面的時候,需要做下判斷,用戶是否已經登錄,如果登錄了,顯示已登錄,否則進入到的是登錄頁面

1)首先判斷session是否記錄了登錄狀态:

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)10

2)判斷cookie是否記錄了登錄狀态,如果登錄了顯示已經登錄,否則将cookie登錄狀态同步到session

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)11

8.最終界面

django注冊登錄功能的實現(Django項目之登錄頁面怎麼寫)12

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关知識资讯推荐

热门知識资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved