登入
'''獲取使用者所有的資料
每條資料請求的驗證
成功之後獲取所有正確的資訊
失敗則顯示錯誤資訊
'''
#登陸頁面管理登入sessiondef login(request):
if request.method == '
get'
:
return render(request,'
login.html')
elif request.method == '
post':
obj =fm(request.post)
sucst =obj.is_valid()
ifsucst:
username = obj.cleaned_data['
username']
password = obj.cleaned_data['
password']
#新增註冊方法--往資料庫中新增字段
# models.userinfo.objects.create(**obj.cleaned_data)
dic = models.userinfo.objects.filter(username=username).first()
# print(dic.username)
ifnot dic:
return render(request, '
login.html
',) elif dic.password ==password:
request.session[
'username
'] =username
request.session[
'is_login
'] =true
return redirect('
/index/')
else
:
return render(request,'
login.html
',)
else
: # print(obj.errors)
return render(request, '
login.html
', )
'''生產隨機字串
寫到使用者瀏覽器
保持在session中
依賴cookie
'''session本身封裝了上述功能
request.session['session設定字段username
'] =username
request.session[
'is_login
'] = true
session封裝成裝飾器進行使用者驗證
'''獲取使用者登入字段狀態
獲取使用者欄位名稱賦值username
查詢使用者所在組
通過組id獲取許可權
'''
#這個是做管理員與商務部人員雙重驗證,管理材料出入庫:不是管理員或商務部人員則返回主頁session驗證def identity(fun):
def verication(request,*args,**kwargs):
if request.session.get('
is_login
',none):
username = request.session.get('
username')
#print(username)
groupid = models.userinfo.objects.filter(username=username).first().usergroup_id
#print(groupid)
usergroup = models.usergroup.objects.filter(id=groupid).first().groupname
#print(usergroup)
if usergroup == '
管理員' or usergroup == '
商務部'
:
return fun(request,*args,**kwargs)
else
:
return redirect('
/index/')
else
:
return redirect('
/index/')
return verication
使用者退出
'''清除session狀態
'''
def logout(request):清除session狀態request.session.clear()
return redirect('
/login/
')
實現登入 使用Django,怎麼實現登入?
django框架是python最流行的web開發框架,熟練掌握框架的使用,對於提高開發效率,有非常大的幫助。今天就來分享一下最常見的登入功能,是怎麼實現的?from django.contrib.auth import authenticate,login def my view request u...
Django使用ldap認證登入
一 安裝依賴包 yum install gcc libffi devel python devel openssl devel openldap devel y 二 安裝python庫 pip install python ldap pip install django auth ldap 三 修改...
組播技術的初級使用
組播技術的初級使用 最近在研究乙個區域網監控的系統,該系統中使用到了組播技術,這個也是我對組播技術的第一次接觸,所以就寫下了如下的初級認識吧!組播 多播 一種通訊模式。主機之間 一對一組 的通訊模式,也就是加入了同乙個組的主機可以接收到此組內的所有資料,網路中的交換機和路由器只向有需求者複製並 其所...