身份验证问题,Django

Posted

技术标签:

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

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

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

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

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

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

请告诉我我做错了什么?

【问题讨论】:

这只是一个错字,你应该写user.is_authenticated 【参考方案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 中阅读有关此主题的更多信息。

【讨论】:

以上是关于身份验证问题,Django的主要内容,如果未能解决你的问题,请参考以下文章

Django Channels 2:两种身份验证方法

JWT 身份验证:使用 UI 令牌对 Graphene/Django (GraphQL) 查询进行身份验证?

为啥在 Django 中需要基本或摘要式身份验证?

用户身份验证与会话身份验证有何不同

仅针对经过身份验证的用户的 Django 缓存

自定义 Django Rest Framework 身份验证验证何时返回“无”