我还是Django的新手,对使用内置视图的工作原理有一些疑问。我注意到djang带有django.contrib.auth.views.password_change的内置密码更改视图。此视图在模板的背景中显示管理站点,而我想提供自己的css /模板,但保留该视图的形式和功能。我该怎么做?你能把东西传递到urls.py
吗?r'password_change/$', 'django.contrib.auth.views.password_change')
喜欢自定义模板?我不确定这样做的正确方法。
答案 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的模板,您只需要:
auth
的目录。答案 2 :(得分:0)
您也可以通过以下方式提供成功更改的网址:
url(r'^password/$', 'django.contrib.auth.views.password_change', {'post_change_redirect' : '/password-changed/','template_name': 'password.html'},),