本篇介紹django的后臺管理,以及使用后臺默認的用戶賬號,實現用戶登錄身份驗證。
1、創建管理員賬戶
python?manage.py?createsuperuser
輸入用戶名,郵箱,密碼
2、登錄管理頁面
http://localhost:8000/admin
3、創建用戶組與用戶
創建用戶組,并且對用戶組授予權限。
創建用戶,劃入用戶組,并且啟用賬戶。
注銷,使用用戶賬戶登錄嘗試。
4、修改views.py
我們計劃調用django admin自帶的用戶管理與登錄認證,這樣就不需要自己重寫。
導入對應的包
django.http?HttpResponseRedirect django.contrib?auth django.contrib.auth.decorators?login_requiredpermission_required
然后編寫login_action函數
(request): ????request.method?==?: ????????username?=?request.POST.get()???????????????????????????????????????#從前端的POST請求獲取用戶名 ????????password?=?request.POST.get()???????????????????????????????????????#從前端的POST請求獲取密碼 ????????userinfo?=?auth.authenticate(=username=password)????????????#利用django?admin的auth模塊認證鑒權 ????????userinfo?: ????????????auth.login(requestuserinfo)????????????????????????????#利用auth模塊獲取當前已登錄的用戶session ????????????request.session[]?=?username ????????????stuinfo?=?student.objects.filter(=username)?????#判斷認證成功的用戶是否在學生表里面存在,是則是學生,否則是老師 ????????????stuinfo: ????????????????HttpResponseRedirect()?????????????#跳轉到老師個人信息頁 ????????????: ????????????????HttpResponseRedirect()?????????????#跳轉到老師個人信息頁 ????????: ????????????render_to_response(())????????#用戶名密碼不正確,跳轉回index.html頁
上述代碼,其實就是用前段頁面的POST動作獲取username與password,先認證用戶名密碼是否正確。如果正確,正面django用戶數據庫有此用戶。
再判斷該用戶是否存在student表里面,如果是,就是學生,則利用HttpResponseRedirect重定向頁面到學生個人信息頁(stuinfo),如果不存在student表里面,那么肯定是老師,就跳轉tchinfo的老師個人信息頁。
如果用戶名密碼認證不通過,就依然跳轉回index.html登錄頁。
#注意記得將之前測試的login函數刪除了,還有原來index.html里面增加的測試代碼需要刪除。
5、修改urls
老規矩,增加了函數,必須到urls里面添加路由。
url(r'^login_action/',?login_action),
6、修改前端頁面
index.html的
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
