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

Django中使用session保持用戶登陸連接的例子

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

使用session保持用戶登陸連接

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

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

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

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

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

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

def logout(request):
  if not request.session.get('is_login', None):
    # 如果本來就未登錄,也就沒有登出一說
    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 中的私貨

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

{% 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" >注冊</a></li>
{% endif %}

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

相關(guān)文章

最新評論