Django登入使用的技術和元件

2022-06-26 18:03:12 字數 2640 閱讀 8952

登入

'''

獲取使用者所有的資料

每條資料請求的驗證

成功之後獲取所有正確的資訊

失敗則顯示錯誤資訊

'''

#登陸頁面管理

def 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

'''

生產隨機字串

寫到使用者瀏覽器

保持在session中

依賴cookie

'''session本身封裝了上述功能

request.session['

username

'] =username

request.session[

'is_login

'] = true

session設定字段

session封裝成裝飾器進行使用者驗證

'''

獲取使用者登入字段狀態

獲取使用者欄位名稱賦值username

查詢使用者所在組

通過組id獲取許可權

'''

#這個是做管理員與商務部人員雙重驗證,管理材料出入庫:不是管理員或商務部人員則返回主頁

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驗證

使用者退出 

'''

清除session狀態

'''

def logout(request):

request.session.clear()

return redirect('

/login/

')

清除session狀態

實現登入 使用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 三 修改...

組播技術的初級使用

組播技術的初級使用 最近在研究乙個區域網監控的系統,該系統中使用到了組播技術,這個也是我對組播技術的第一次接觸,所以就寫下了如下的初級認識吧!組播 多播 一種通訊模式。主機之間 一對一組 的通訊模式,也就是加入了同乙個組的主機可以接收到此組內的所有資料,網路中的交換機和路由器只向有需求者複製並 其所...