我在使用django的用户帐户/登录时遇到问题。我正在尝试在登录后做一些事情,但在我登录网站后显示我还没有登录。例如在html标签中如果我使用{{user}}它打印出匿名用户即使我是没有登录。我不知道我的代码有什么问题:
views.py:
def index(request):
return render_to response({'user', request.user})
urls.py:
(r'^$', 'tickets.views.index'),
(r'^accounts/login/$', 'django.contrib.auth.views.login' ),
(r'^accounts/logout/$','django.contrib.auth.views.logout'),
login.html是基本的django登录模板,在索引上我显示了{{user}}。
感谢您的帮助。
编辑:
我有一个模板标签,我只是没有输入它。我希望它说我登录后登录。例如:如果我使用帐户测试登录,我希望测试显示{{user}}不是匿名用户。
答案 0 :(得分:0)
答案 1 :(得分:0)
我只是重读了你的问题。 应该在未登录时获取AnonymousUser。
匿名用户是未经过身份验证的用户,即他们未提供有效的身份验证详细信息。但是,这并不一定意味着他们无权做任何事情。在最基本的层面上,大多数网站都授权匿名用户浏览大部分网站,许多网站允许匿名发布评论等。
答案 2 :(得分:0)
您很可能希望在模板中执行以下操作:
{% if user.is_authenticated %}
<p>Hi logged in user!</p>
{% else %}
<p>Please login</p>
{% endif %}
当用户尚未登录时,您将获得AnonymousUser的实例。您可以通过调用is_authenticated()
方法来检查它们是否经过身份验证。