學一點記一點
剛剛進來的時候突然發現,博客園的主頁在縮小的時候會發生一些擠壓,有點意思
今天剛看了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保存時間什么的