如何覆盖Django的管理更改密码页面?

Huu*_*uze 9 django django-admin

我想覆盖Django的管理"更改密码"页面(change_password.html).因此,我在项目的"/templates/admin/registration/password_change_form.html"目录中放置了Django的"/contrib/admin/templates/registration/password_change_form.html".不幸的是,这似乎没有办法.

在这一点上,我很难过.我猜它与Django的/contrib/auth/urls.py文件有关(它将管理员更改密码调用指向"django.contrib.auth.views.password_change"),但是管理模板更改很简单到目前为止,我很惊讶这一点并没有效仿.

有什么想法吗?

sem*_*nte 21

你必须使用:

templates/registration/password_change_form.html
Run Code Online (Sandbox Code Playgroud)

如果你仍然看到Django的管理员模板,你必须改变你的顺序INSTALLED_APPS(例如,如果你的模板在某个应用程序中,这个应用程序必须在之前django.contrib.admin出现INSTALLED_APPS)

https://docs.djangoproject.com/en/dev/topics/auth/#django.contrib.auth.views.password_change

  • tipp**这个应用程序必须出现在INSTALLED_APPS**中的django.contrib.admin之前非常有帮助! (8认同)
  • 不知道为什么你被投票,这是我正在寻找的答案.问题解决了! (3认同)
  • 虽然这个评论是旧的,它仍然是一个救生员;)+1提到秩序的重要性 (2认同)

Pet*_*ell 9

快速查看源代码表明您应该将模板放在:

/templates/registration/password_change_form.html
Run Code Online (Sandbox Code Playgroud)

注意事项:那里没有'admin /'.