首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django登录/ Post登录

Django登录/ Post登录
EN

Stack Overflow用户
提问于 2012-04-26 01:59:42
回答 3查看 1.4K关注 0票数 0

我在django的用户帐户/登录上遇到了问题。我试图在登录后做一些事情,但在我登录后,网站显示我还没有登录。例如,在html标记中,如果我使用{{ user }},即使我没有登录,它也会打印出匿名用户。我不知道我的代码出了什么问题:

views.py:

代码语言:javascript
复制
def index(request):
    return render_to response({'user', request.user})

urls.py:

代码语言:javascript
复制
(r'^$', 'tickets.views.index'),
(r'^accounts/login/$', 'django.contrib.auth.views.login' ),
(r'^accounts/logout/$','django.contrib.auth.views.logout'),

login.html是基本的django登录模板,在索引上我显示了{{ user }}。

谢谢你的帮助。

编辑:

我有一个模板标签,我只是没有在那里输入它。我希望它在我登录后说我已经登录了。例如:如果我使用帐户test登录,我希望test显示其中{{ user }}不是匿名用户。

EN

回答 3

Stack Overflow用户

发布于 2012-04-26 02:28:39

  1. 检查您设置中的SESSION_ENGINE。它可能是缓存后端,且缓存可能设置为dummy。在MIDDLEWARE_CLASSES.

中检查'django.contrib.sessions.middleware.SessionMiddleware

票数 0
EN

Stack Overflow用户

发布于 2012-04-26 02:31:02

我刚重读了你的问题。您应该在未登录时获得AnonymousUser。

参见the Django documentation

匿名用户是未经过身份验证的用户,即他们没有提供有效的身份验证详细信息。然而,这并不一定意味着他们没有被授权做任何事情。在最基本的层面上,大多数网站授权匿名用户浏览网站的大部分内容,许多网站允许匿名发表评论等。

票数 0
EN

Stack Overflow用户

发布于 2012-04-26 02:35:51

您很可能希望在模板中执行以下操作:

代码语言:javascript
复制
{% if user.is_authenticated %}
  <p>Hi logged in user!</p>
{% else %}
  <p>Please login</p>
{% endif %}

当用户尚未登录时,您将获得一个AnonymousUser实例。您可以通过调用is_authenticated()方法来检查它们是否经过身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10321168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档