2013-02-07 58 views
1

我正在尝试为登录用户创建一个帐户设置页面。用户应该能够做的一件事是更改密码。在自定义模板中使用django注册表格

我使用Django的注册,它提供了一个密码更改表单在网站/帐户/密码/更改默认情况下,它的工作原理。但是,我希望此功能可以在“帐户设置”页面上使用,以及其他管理功能。

我第一次尝试复制模板代码,但它没有工作,因为它包含一个特殊的窗体来创建密码输入(以处理验证)。我不知道如何将这个表单包含在我自己的模板中。

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

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

回答

0

Django注册没有实现自己的密码更改视图,它重新使用Django中包含的那个(django.contrib.auth.views.password_change)。它通过registration.auth_urls连接,它包含在defaultsimple注册后端中。

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

当您仅重用表单(当然,您只需在自定义视图中导入上述表单),您应该意识到您仍然会缺少整个视图逻辑。因此,除非您有更复杂的观点,否则您应考虑重新使用它,并仅覆盖registration/password_change_form.htmlregistration/password_change_done.html模板。