首页 > 解决方案 > 自定义 Django Admin 用户密码更改表单

问题描述

我已经使用 AbstractBaseUser 自定义了我的用户模型。

一切正常,但是当我在 Django 管理界面和我们更改用户密码的表单中时,除了new password 1new password 2字段之外,我还在文本框中看到他们的电子邮件:

图片

如何从我的管理员更改密码表单中删除他们的电子邮件地址?有没有我可以继承的特殊 Django 表单?

标签: djangoadmin

解决方案


我认为您必须自定义password_reset视图。请阅读此处的文档。

如果你想走得更远,你可以覆盖PasswordResetForm

from django.contrib.auth.forms import PasswordResetForm

class FooPasswordResetForm(PasswordResetForm):
    ...

然后更新您的 URL,不要忘记将您的表单传递给password_reset_form参数:

from django.contrib.auth import views as auth_views
from myapp.forms import FooPasswordResetForm

urlpatterns = [
    ...
    url(
        '^password_reset/',
        auth_views.password_reset,
        {'password_reset_form': FooPasswordResetForm},
    )
]

请也看看这个问题 我的回答是受这个问题的回答启发的。


推荐阅读