您的位置:首页 > 编程语言 > Go语言

Django中使用session保持用户登陆连接

2018-03-02 09:26 603 查看

使用session保持用户登陆连接

在 view 中 login() 视图函数里增加如下语句
不允许重复登录语句

if request.session.get('is_login',None):
    return HttpResponseRedirect(reverse('index'))
一旦用户名和密码输入正确,就往 session 字典内写入用户状态和数据
request.session['is_login'] = True
request.session['user_id'] = db_user.id
request.session['user_name'] = db_user.name
​

对于 logout() 方法进行编写。
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() 方法清除数据比较安全,但是不能保存 session 中的私货
对于 HTML 文件进行改写
{% if request.session.is_login %}
     <li><a href="#">当前在线:{{ request.session.user_name }}</a></li>
     <li><a href="/logout/">登出</a></li<
4000
span class="cm-tag cm-bracket" style="color:rgb(17,119,0);">>
{% else %}
     <li><a href="/login/">登录</a></li>
     <li><a href="/register/">注册</a></li>
{% endif %}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Django
相关文章推荐