gpt4 book ai didi

html - 找不到 'password_change_done' 的 Django 反向

转载 作者:行者123 更新时间:2023-12-05 04:46:13 25 4
gpt4 key购买 nike

我有一个正在编写的小应用程序,但我在使用 Django 身份验证框架的密码更改元素时遇到了一些麻烦。但是我在更改密码后总是收到错误消息:找不到“password_change_done”的反向。 “password_change_done”不是有效的 View 函数或模式名称。下面是我的代码:

#account urls.py

from django.urls import path, include
from django.contrib.auth import views as auth_views
from . import views

app_name = 'account'

urlpatterns = [
#Password Changes URLs
path('password_change/', auth_views.PasswordChangeView.as_view(), name='password_change'),
path('password_change/done/', auth_views.PasswordChangeDoneView.as_view(), name='password_change_done'),

]

这是我的登录系统目录结构: Directory Structure

这是 password_change.html 文件:

<h3 style="text-align: center;">Change your password</h3>
<div class="login-form" style="text-align: center; ">
<form method="post">
{{ form.as_p }}
<p><input type="submit" value="Change"></p>
{% csrf_token %}
</form>
</div>

如有任何帮助,我们将不胜感激!

最佳答案

由于您使用的是 app_name,因此您需要在 PasswordChangeViewsuccess_url 中包含命名空间:

# account urls.py

from django.urls import path, include
from django.contrib.auth import views as auth_views
from . import views
from django.urls import reverse_lazy

app_name = 'account'

urlpatterns = [
#Password Changes URLs
path('password_change/', auth_views.PasswordChangeView.as_view(
<strong>success_url=reverse_lazy('account:password_change_done')</strong>
), name='password_change'),
path('password_change/done/', auth_views.PasswordChangeDoneView.as_view(), name='password_change_done'),
]

auth 包的其他一些基于类的 View 有 success_url,因此也应该更新它们。

关于html - 找不到 'password_change_done' 的 Django 反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68904977/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com