python - 用户身份验证模板标签不起作用-Django

标签 python django django-templates django-views django-authentication

我使用了 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/

相关文章:

python - 无论当前工作目录如何,打开模块中的文件

python - 模板中的字段名称和值

python - 基于值比较的Python字典合并

python - 如何在文本文件中找到最相关的字符串?

python - 如何将 2D 边界框像素坐标 (x, y, w, h) 转换为相对坐标(Yolo 格式)?

django - pdf xhtml2pdf 中的图像输出失败

python - Django:将博客条目查看次数加一。这有效率吗?

django - 如何在 Django 中使用 check_password 函数

django - PWA 无法使用 Service Worker 与 Django 一起正常工作

django - NoReverseMatch at/Django模板渲染