django中如何检测用户的登陆状态,在跳转页面时也保持登陆?


新手,在练习开发一个论坛,想在用户登陆状态下能够发表帖子,跳转页面后也要保持用户登陆状态。

http python django

汪汪23333 10 years, 1 month ago

跳转页面后为什么就不是登陆状态的?session是一直有效的

merol answered 10 years, 1 month ago

django 自带的用户认证系统就可以了。

其中 User 提供 authenticate(username,password) login(request,user) 两个方法用来认证和登入,

也可以用 login_required 装饰器控制是否需要登录的 view

可以参考 http://www.cnblogs.com/esperyong/archive/2012/12/20/2826411.html
https://docs.djangoproject.com/en/1.6/topics/auth/default/#authentication-in-web-requests

月下的但丁 answered 10 years, 1 month ago

Django 中判断用户是否登录可以使用 is_authenticated() 方法。


 if request.user.is_authenticated(): 
    # Do something for authenticated users. 
else: 
    # Do something for anonymous users.

默认情况下 Django 会将 Session 保存到数据库的`django_session`表,因此在不过期的情况下始终会保持用户的登录状态。

具体使用方式可参考: https://github.com/jacobian-archive/djangobook.com/blob/master/chapter14.rst

暴走的马丁 answered 10 years, 1 month ago

Your Answer