註銷和註冊
1.註銷
對於註銷,我們不創建用於註銷的頁面,只需單擊一個鏈接就能註銷並返回到主頁
1>創建註銷的URL模式
這個URL模式將請求發送給視圖函數logout_view()
2>編寫視圖函數logout_view()
1處表示從django.contrib.auth中導入了函數logout()
2處調用函數logout()
3處將重定向到主頁
3>在base.html中添加註銷鏈接
添加到base.html頁面是因爲,當我們成功登陸後,我們在每個頁面都可以註銷用戶
4>運行manage.py,並使用註銷功能
可以看到每個頁面都有註銷鏈接,然後點擊log out註銷,頁面會返回到主頁
2.註冊頁面
我們將使用Django提供的表單UserCreationForm
1>創建註冊頁面的URL模式
將請求發送給視圖函數register()
2>創建視圖函數register()
1處表示驗證請求是否'POST'請求,如果不是,就創建一個UserCreationForm實例,且不給它提供任何初始數據
2處表示如果驗證是'POST'請求,就根據提交的數據創建一個UserCreationForm實例
如果提交的表單數據有效,就調用表單的方法save(),並將其存儲在new_user中
確保用戶的信息後,我們讓用戶自動登陸,將包含兩個步驟:
(1)調用authenticate,並將實參new_user.username和密碼傳遞給它(5處),如果用戶名和密碼無誤,方法authenticate()將返回一個通過了身份驗證的用戶對象,
我們將其存儲在authenticated_user中
(2)調用函數login(),並將對象request和authenticated_user傳遞給它(6處)
7處表示自動登陸後,將用戶重定向到主頁
3>創建註冊模板register.html
使用方法as_p,讓Django在表單正確顯示所有字段
4>在base.html中添加註冊鏈接
5>運行manage.py,查看註冊頁面
點擊register
點擊register
註冊完成並自動登陸主頁