我使用了 django 注册应用程序。一切顺利。用户注册了电子邮件验证,但是当用户登录并被重定向到主页时,身份验证模板标签(例如 {% if user.is_authenticated %})返回 false。
我在我的 login.html 中有这个
<input type="hidden" name="next" value="/" />
登录后我想将用户重定向到主页和 mainpage.html
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please log in.</p>
{% endif %}
但是 user.is_authenticated 在这里返回 false。这可能是什么问题?谢谢
最佳答案
尝试使用 {% if request.user.is_authenticated %}
代替。用户完全有可能没有被传递到 View 中的上下文字典中。如果在模板中找不到该对象,它将跳到 block 的 else 部分。呈现模板在 django 中很奇怪,因为通常是异常的东西被吞没了。
关于python - 用户身份验证模板标签不起作用-Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080020/