在我的urls.py
中,我有:
from django.contrib.auth import views as auth_views
urlpatterns += [
url("^reset-password/$", auth_views.password_reset,
{
"template_name": "pages/password_reset_form.html"
},
name="reset_pw"
),
]
我的password_reset_form.html
有这个:
<form id="reset-pw-form" name="resetPWForm" method="post" action="{% url 'reset_pw' %}">
{% csrf_token %}
<input
id="id_email"
type="email"
placeholder="Enter email"
name="email"
required>
<button type="submit" >Submit</button>
</form>
当您点击表单上的提交按钮时,它会发送到/reset-password
,然后获取/password_reset/done/
。如何让它获得/reset-password/done
并加载my_template.html
呢?
答案 0 :(得分:2)
有两种方法:
:一种。使用自定义类
1)创建一个自定义网址来处理在views.py
中制作的自定义类url(r'^reset/done/$', views.PasswordResetComplete.as_view(),name='password_reset_complete'),
2)导入PasswordResetCompleteView并在自定义类上继承它。传递template_name =“Your template.html”
from django.contrib.auth.views import PasswordResetCompleteView
class PasswordResetComplete(PasswordResetCompleteView):
template_name = "template name"
<强> B中。覆盖模板
1)在django模板文件夹中创建一个注册文件夹
2)使用名称“password_reset_confirm.html”创建自定义模板,为什么这个名称因为django reset done视图具有相同的模板名称,将被覆盖。