Django密码更改视图表单

时间:2012-12-04 20:55:06

标签: django change-password

我还是Django的新手,对使用内置视图的工作原理有一些疑问。我注意到djang带有django.contrib.auth.views.password_change的内置密码更改视图。此视图在模板的背景中显示管理站点,而我想提供自己的css /模板,但保留该视图的形式和功能。我该怎么做?你能把东西传递到urls.py

吗?
r'password_change/$', 'django.contrib.auth.views.password_change')

喜欢自定义模板?我不确定这样做的正确方法。

3 个答案:

答案 0 :(得分:11)

您可以通过设置template_name参数来指定应该使用的模板:

(r'password_change/$', 'django.contrib.auth.views.password_change', {'template_name': 'path/to/password_reset.html'})

在您的模板中,请确保使用提供的{{ form }}模板变量,这样你就可以了。

答案 1 :(得分:6)

Django将首先尝试从您的应用程序加载模板,然后再回退。因此,要覆盖contrib.auth的模板,您只需要:

  1. 在模板目录中创建名为auth的目录。
  2. 创建一个与内置视图期望加载的名称相同的模板。
  3. 没有第3步。

答案 2 :(得分:0)

您也可以通过以下方式提供成功更改的网址:

url(r'^password/$', 'django.contrib.auth.views.password_change', {'post_change_redirect' : '/password-changed/','template_name': 'password.html'},),