【问题标题】:Authentication issue, Django身份验证问题,Django
【发布时间】:2019-06-19 12:24:23
【问题描述】:

对不起,我的英语语言,我来自俄罗斯。 我正在编写一些代码(在数据库中添加有关我的客户的信息,选择此信息,将其显示在我网站的某些页面上,并添加功能 EDIT 以获取有关客户的信息)。

在包含有关客户的完整信息的页面上,我正在显示“编辑”有关这些客户的信息的链接。

它可以工作,好吧,但是当我将模板代码包装在要编辑的链接周围时:

{% if user.is_authentificated %}
    <a href.....>edit</a>
{% endif %}

链接未显示,但我已获得授权! ( 进入管理面板不需要授权)

请告诉我我做错了什么?

【问题讨论】:

  • 这只是一个错字,你应该写user.is_authenticated

标签: django django-forms django-templates django-authentication python-3.7


【解决方案1】:

如果你想对任何用户进行身份验证,Django 提供了一个内置方法。您可以尝试如下代码:

{% if user.is_authenticated  %}
    <a href.....>edit</a>
{% endif %}

I hope it will work.

【讨论】:

    【解决方案2】:

    请注意,user.is_authenticated 始终是只读的True 属性,它不检查任何权限、活动或会话有效性。如果您只是想检查用户是匿名用户还是已注册用户,最好在模板中使用更详细的 attr user.is_anonymous{% if not user.is_anonymous %}

    您可以在auth docs 中阅读有关此主题的更多信息。

    【讨论】:

      猜你喜欢
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 2012-04-28
      • 2011-10-22
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      相关资源
      最近更新 更多