欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django中使用session保持用戶(hù)登陸連接的例子

 更新時(shí)間:2019年08月06日 08:56:04   作者:ins_s  
今天小編就為大家分享一篇Django中使用session保持用戶(hù)登陸連接的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

使用session保持用戶(hù)登陸連接

在 view 中 login() 視圖函數(shù)里增加如下語(yǔ)句

不允許重復(fù)登錄語(yǔ)句

if request.session.get('is_login',None):
   return HttpResponseRedirect(reverse('index'))

一旦用戶(hù)名和密碼輸入正確,就往 session 字典內(nèi)寫(xiě)入用戶(hù)狀態(tài)和數(shù)據(jù)

request.session['is_login'] = True
request.session['user_id'] = db_user.id
request.session['user_name'] = db_user.name

​ 對(duì)于 logout() 方法進(jìn)行編寫(xiě)。

def logout(request):
  if not request.session.get('is_login', None):
    # 如果本來(lái)就未登錄,也就沒(méi)有登出一說(shuō)
    return redirect("/index/")
  request.session.flush()
  # 或者使用下面的方法
  # del request.session['is_login']
  # del request.session['user_id']
  # del request.session['user_name']
  return redirect("/index/")

使用 flush() 方法清除數(shù)據(jù)比較安全,但是不能保存 session 中的私貨

對(duì)于 HTML 文件進(jìn)行改寫(xiě)

{% if request.session.is_login %}
   <li><a href="#" rel="external nofollow" >當(dāng)前在線:{{ request.session.user_name }}</a></li>
   <li><a href="/logout/" rel="external nofollow" >登出</a></li>
 {% else %}
   <li><a href="/login/" rel="external nofollow" >登錄</a></li>
   <li><a href="/register/" rel="external nofollow" >注冊(cè)</a></li>
{% endif %}

以上這篇Django中使用session保持用戶(hù)登陸連接的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論