第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有人遇到過這個問題哈!Django判斷用戶登錄狀態(tài)?十分感謝

有沒有人遇到過這個問題哈!Django判斷用戶登錄狀態(tài)?十分感謝

躍然一笑 2019-06-09 10:39:53
首先描述一下頁面的問題:頁面有一個導(dǎo)航欄,可以根據(jù)用戶是否登錄來展示登錄或者登出按鈕(目前使用is_authenticated屬性判斷)頁面有一個顯示全部用戶的選項,用于展示所有已創(chuàng)建的用戶,點擊用戶可查看用戶的詳細信息。點擊查看某一用戶的信息并不代表這個用戶已經(jīng)登錄,但是如果使用is_authenticated來檢驗用戶,根據(jù)django的官網(wǎng)描述,所有的用戶實例都會返回True,那么導(dǎo)航欄也會做相應(yīng)改變。這不是我需要的。請問有什么方法能夠判斷一個用戶是否處于登錄狀態(tài)?另外我正在嘗試使用session,這是視圖函數(shù):defuser_login(request):username=request.POST["username"]password=request.POST["password"]user=authenticate(request,username=username,password=password)ifuserisnotNone:request.session["username"]=usernamelogin(request,user)...這個登錄視圖使用的模板是login.html,但是我希望能在主頁的模板base.html中使用session,這樣要如何實現(xiàn)呢?
查看完整描述

2 回答

?
慕田峪4524236

TA貢獻1875條經(jīng)驗 獲得超5個贊

利用cookie驗證用戶是否已經(jīng)登錄:

?View Code

?

什么是session及session的工作原理

session又名會話,其功能與應(yīng)用場景與cookie類似,用來存儲少量的數(shù)據(jù)或信息。但由于數(shù)據(jù)存儲在服務(wù)器上,而不是客戶端上,所以比cookie更安全。

?

Session工作的流程如下:

  • 客戶端向服務(wù)器發(fā)送請求時,看本地是否有cookie文件。如果有,就在HTTP的請求頭(Request Headers)中,包含一行cookie信息。

  • 服務(wù)器接收到請求后,根據(jù)cookie信息,得到sessionId,根據(jù)sessionId找到對應(yīng)的session,用這個session就能判斷出用戶是否登錄等等。

?

使用Session的好處在于,即使用戶關(guān)閉了瀏覽器,session仍將保持到會話過期。

?

django中用session驗證用戶登錄狀態(tài)

?View Code

?下面是通過session控制不讓用戶連續(xù)評論兩次的例子。實際應(yīng)用中我們還可以通過session來控制用戶登錄時間,單位時間內(nèi)連續(xù)輸錯密碼次數(shù)等等。

?View Code


查看完整回答
反對 回復(fù) 2019-06-09
?
揚帆大魚

TA貢獻1799條經(jīng)驗 獲得超9個贊

模板中可以直接使用request對象的,比如request.user。如果不能的話需要settings中進行配置TEMPLATES的OPTIONS.context_processors增加django.template.context_processors.request:
TEMPLATES=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[os.path.join(DIRNAME,"templates")],
'APP_DIRS':True,
'OPTIONS':{
'debug':DEBUG,
'context_processors':[
'django.template.context_processors.request',
],
},
},
]
                            
查看完整回答
反對 回復(fù) 2019-06-09
  • 2 回答
  • 0 關(guān)注
  • 701 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號