django學習 session保持登錄,且登出


學一點記一點

剛剛進來的時候突然發現,博客園的主頁在縮小的時候會發生一些擠壓,有點意思

今天剛看了session,感覺之前太迷茫,把問題想得過於復雜了。

我這個是建立在有登錄和注冊的功能上的演示。

首先,我們要去setting里面確定session在不在

找到上述字段中含有session的就好了

然后,去登錄的那個views里,找到登錄成功跳轉的上一個字段,加入如下代碼

request.session['user'] = request.POST.get('user')

我這個是在session里添加一個user,然后值是由我從前端傳來的賬號信息。

同時也可以在注冊里去添加,可以對應注冊成功后直接登錄。

登錄成功后,右鍵頁面,查看元素,然后找到存儲里的cookie。如下

會發現多了一個sessionid,然后我寫了一個message函數,能用於返回session里的user,這樣不管你跳轉到哪個頁面只要網session里去取出這個值就好了。就像這樣

 context['user'] = request.session.get('user')

當然,還可以設定判斷是否登錄,

 if 'user' not in  request.session:
        return render(request,'login/index.html')

我之前在session加了一個key是user,所以如果我找不到,那么就是沒有登錄啦,就會讓他去登錄頁面。

登出就比較簡單,只要清掉session就好了

def loginout(request):
    request.session.flush()
    return render(request,'login/index.html')

flush是指清掉所有存在session里的值,可以去cookie看看是不是消失了。

當然還可以設置session保存時間什么的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM