当我使用内置的PasswordResetConfirmView时,即不会显示新密码和密码确认字段。我得到的表单只有提交按钮。
以前的一篇文章提到,可以尝试从相应的模板中去除香脆,而我尝试没有成功。
我还注意到,我在电子邮件中收到的密码重置链接看起来像这样:http://127.0.0.1:8000/password-reset-confirm/MQ55a-1dead984b940e457bcad。请注意,它不是... / MQ /,如我在示例中看到的那样。我尝试在网址中插入/,但未加载模板。
我的网址格式...
urlpatterns = [
path('admin/', admin.site.urls),
path('register/', user_views.register, name='register'),
path('profile/', user_views.profile, name='profile'),
path('login/', auth_views.LoginView.as_view(template_name = 'user/login.html'), name='login'),
path('logout/', auth_views.LogoutView.as_view(template_name = 'user/logout.html'), name='logout'),
path('password-reset/', auth_views.PasswordResetView.as_view(
template_name = 'user/password_reset.html'),
name='password_reset'),
path('password-reset-done/', auth_views.PasswordResetDoneView.as_view(
template_name = 'user/password_reset_done.html'),
name='password_reset_done'),
path('password-reset-confirm/<uidb64><token>', auth_views.PasswordResetConfirmView.as_view(
template_name = 'user/password_reset_confirm.html'),
name='password_reset_confirm'),
path('', include('blog.urls')),
]
我的password-reset-confirm.html是
{% extends "blog/base.html" %}
{% load crispy_forms_tags %}
{% crispy form %}
{% block content %}
<div class="content-section">
<form method="POST">
{% csrf_token %}
<fieldset class="form-group">
<legend class="border-bottom mb-4">Enter New Password</legend>
{{form|crispy}}
</fieldset>
<div class="form-group">
<button type="submit" class="btn btn-secondary">Change Password</button>
</div>
</form>
</div>
{% endblock content %}
我希望看到密码和密码确认字段。相反,我得到 此链接上的屏幕。 https://drive.google.com/open?id=1E61fjoy5K26nA0Ooej56gRu0DPLFzfXo
答案 0 :(得分:0)
我在url_patterns中发现了问题:
我错过了uidb64和令牌参数之间的/密码password-reset-confirm路径