Django中使用session保持用户登陆连接的例子
2019-08-06 08:56
597 查看
使用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="#" rel="external nofollow" >当前在线:{{ 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保持用户登陆连接的例子就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- Django中使用session保持用户登陆连接
- django之状态保持-使用redis存储session的例子
- 使用PHP会话(Session)实现用户登陆功能
- 使用KSoap2-anroid连接WebService并保持Session
- 使用HttpClient模拟网站登陆sina邮箱(保持远程服务器session和cookie)
- 关于使用HttpSessionBindingListener获取在线用户数,同一用户登陆一次
- 使用外部LDAP用户认证后,DJANGO用户如何作登陆的操作?
- 用户登陆界面使用Session保存并导入用户名
- Django网站建设-用户登陆机制,session/cookies
- 局域网共享资源路径更改无法登陆问题(不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接)解决
- Django---用户注册和登陆验证(3)--具体实现--使用默认的
- 使用Session完成用户登陆 利用Session实现验证码校验
- node4.X以上版本中,session用来保持用户的登陆(login)状态
- django的用户认证管理,如何使用session(2)
- 使用django的login来登陆用户的时候需要为用户模型添加backend
- [转]mvc3 使用session来存储类来存储用户登陆信息
- Django介绍、安装配置、基本使用、Django用户注册例子
- jsp利用session记录登陆状态,保证用户的使用连贯性,并且防止未登录用户绕过登陆页
- 一个完整的Nodejs项目 完成连接数据库(MySQL),登陆、注册功能 session的使用 和发送邮件
- django之状态保持-使用redis存储session