今天小编就为大家分享一篇Django中使用session保持用户登陆连接的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用session保持用户登陆连接
在 view 中 login() 视图函数里增加如下语句
不允许重复登录语句
if request.session.get('is_login',None): return Htt<i style="color:transparent">来源gaodai$ma#com搞$$代**码)网</i>pResponseRedirect(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>当前在线:{{ request.session.user_name }}</li><li>登出</li> {% else %} <li>登录</li><li>注册</li> {% endif %}
以上这篇Django中使用session保持用户登陆连接的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持gaodaima搞代码网。
以上就是Django中使用session保持用户登陆连接的例子的详细内容,更多请关注gaodaima搞代码网其它相关文章!