How to remove change password link from django admin site?

Moh*_*ati 2 django django-admin

I am using active directory login authentication for my django web application. So there is no need of change password link in admin site.

我搜索了很多文章,但我没有找到任何隐藏更改密码链接的东西。那么从管理员隐藏更改密码链接的方法是什么?

nar*_*ary 5

您不需要覆盖管理模板。

如果user.has_usable_password()返回False,则Django 将不会显示该用户的更改密码 URL

user.has_usable_password()可以False通过调用返回user.set_unusable_password()

文档

set_unusable_password()

将用户标记为未设置密码。这与使用空白字符串作为密码不同。check_password()对于这个用户将永远不会返回True。不保存用户对象。

如果您的应用程序的身份验证是针对现有的外部源(例如 LDAP 目录)进行的,则您可能需要这样做。

has_usable_password()

返回False是否set_unusable_password()已为此用户调用。

Django 基本管理模板中条件过滤器的源代码

{% if user.has_usable_password %}
    <a href="{% url 'admin:password_change' %}">{% translate 'Change password' %}</a> 
{% endif %}
Run Code Online (Sandbox Code Playgroud)