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

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