我正在尝试为登录用户创建帐户设置页面。用户应该做的一件事就是更改密码。
我正在使用django-registration,它默认在站点/帐户/密码/更改时提供密码更改表单,并且它可以正常工作。但是,我希望此功能可以在“帐户设置”页面中使用,以及其他管理功能。
我首先尝试复制模板代码,但它不起作用,因为它包含一个特殊的表单来创建密码的输入(以处理验证)。我不知道如何在我自己的模板中包含此表单。
如何在我自己的帐户设置模板中重新创建这些表单?
This是默认的密码更改模板。我想在一个单独的模板中重用form.oldpassword
和其他人。
答案 0 :(得分:0)
Django-registration没有实现自己的密码更改视图,它重用了Django(django.contrib.auth.views.password_change
)中包含的密码更改视图。它通过registration.auth_urls
和default
注册后端中包含的simple
连接。
默认情况下,视图使用django.contrib.auth.forms.PasswordChangeForm
(可以通过password_change_form
参数覆盖)。
当你只重用表单时(当然你可以在自定义视图中导入上面的表单),你应该知道你仍然会缺少整个视图逻辑。因此,除非您考虑到更复杂的视图,否则您应该考虑重复使用它,并覆盖registration/password_change_form.html
和registration/password_change_done.html
模板。