在自定义模板中使用django-registration表单

时间:2013-02-07 22:43:01

标签: django django-registration

我正在尝试为登录用户创建帐户设置页面。用户应该做的一件事就是更改密码。

我正在使用django-registration,它默认在站点/帐户/密码/更改时提供密码更改表单,并且它可以正常工作。但是,我希望此功能可以在“帐户设置”页面中使用,以及其他管理功能。

我首先尝试复制模板代码,但它不起作用,因为它包含一个特殊的表单来创建密码的输入(以处理验证)。我不知道如何在我自己的模板中包含此表单。

如何在我自己的帐户设置模板中重新创建这些表单?

This是默认的密码更改模板。我想在一个单独的模板中重用form.oldpassword和其他人。

1 个答案:

答案 0 :(得分:0)

Django-registration没有实现自己的密码更改视图,它重用了Django(django.contrib.auth.views.password_change)中包含的密码更改视图。它通过registration.auth_urlsdefault注册后端中包含的simple连接。

默认情况下,视图使用django.contrib.auth.forms.PasswordChangeForm(可以通过password_change_form参数覆盖)。

当你只重用表单时(当然你可以在自定义视图中导入上面的表单),你应该知道你仍然会缺少整个视图逻辑。因此,除非您考虑到更复杂的视图,否则您应该考虑重复使用它,并覆盖registration/password_change_form.htmlregistration/password_change_done.html模板。