"AttributeError: module 'django.contrib.auth.views' has no attribute 'password_reset' " error in urls.py
"AttributeError: module 'django.contrib.auth.views' has no attribute 'password_reset' " error in urls.py
我正在使用 Django 3.0.5 和 python 3.6,并从终端收到错误消息:
“ AttributeError:模块 'django.contrib.auth.views' 在我的 urls.py 文件中没有属性 'password_reset'”。
urls.py
```
from django.contrib import admin
from django.urls import path
from django.contrib.auth import views as auth_views
from django.conf.urls import url
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index, name='index'),
path('datetime/',views.current_datetime,name='datetime'),
path('',views.post_list,name='post_list'),
url(r'^blog/(?P<id>\d+)/(?P<slug>[\w-]+)/$',views.post_detail,name="post_detail"),
url('post_create/',views.post_create,name = "post_create"),
url('login/', views.user_login,name="user_login"),
url('logout/', views.user_logout,name="user_logout"),
#Password reset urls
url('password-reset/',auth_views.password_reset, name='password_reset'),
url('password-reset/done/',auth_views.password_reset_done,name="password_reset_done"),
url('password-reset/confirm/(?P<uidb64>[\w-]+)/(?P<token>[\w-]+)/',auth_views.password_reset_confirm, name="password_reset_confirm"),
url('password-reset/complete/', auth_views.password_reset_complete,name="password_reset_complete"),
]
```
我已经检查了 here,它谈论的是与我所写的相同的 4 个视图,然后是我收到错误的原因。当我将 "auth_views.password_reset" 更改为 "auth_views.PasswordResetForm in "url('password-reset/',auth_views.password_reset, name='password_reset')" 时,终端不会显示任何错误"password_reset" 但随后显示 "password_reset_done".
错误
任何人都可以告诉我为什么会收到此错误以及如何解决它。任何帮助,将不胜感激。
这会有所帮助,
from django.contrib.auth import views
from django.urls import path
urlpatterns = [
path('login/', views.LoginView.as_view(), name='login'),
path('logout/', views.LogoutView.as_view(), name='logout'),
path('password_change/', views.PasswordChangeView.as_view(), name='password_change'),
path('password_change/done/', views.PasswordChangeDoneView.as_view(), name='password_change_done'),
path('password_reset/', views.PasswordResetView.as_view(), name='password_reset'),
path('password_reset/done/', views.PasswordResetDoneView.as_view(), name='password_reset_done'),
path('reset/<uidb64>/<token>/', views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
path('reset/done/', views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
]
我正在使用 Django 3.0.5 和 python 3.6,并从终端收到错误消息:
“ AttributeError:模块 'django.contrib.auth.views' 在我的 urls.py 文件中没有属性 'password_reset'”。
urls.py
```
from django.contrib import admin
from django.urls import path
from django.contrib.auth import views as auth_views
from django.conf.urls import url
from blog import views
urlpatterns = [
path('admin/', admin.site.urls),
path('index/',views.index, name='index'),
path('datetime/',views.current_datetime,name='datetime'),
path('',views.post_list,name='post_list'),
url(r'^blog/(?P<id>\d+)/(?P<slug>[\w-]+)/$',views.post_detail,name="post_detail"),
url('post_create/',views.post_create,name = "post_create"),
url('login/', views.user_login,name="user_login"),
url('logout/', views.user_logout,name="user_logout"),
#Password reset urls
url('password-reset/',auth_views.password_reset, name='password_reset'),
url('password-reset/done/',auth_views.password_reset_done,name="password_reset_done"),
url('password-reset/confirm/(?P<uidb64>[\w-]+)/(?P<token>[\w-]+)/',auth_views.password_reset_confirm, name="password_reset_confirm"),
url('password-reset/complete/', auth_views.password_reset_complete,name="password_reset_complete"),
]
```
我已经检查了 here,它谈论的是与我所写的相同的 4 个视图,然后是我收到错误的原因。当我将 "auth_views.password_reset" 更改为 "auth_views.PasswordResetForm in "url('password-reset/',auth_views.password_reset, name='password_reset')" 时,终端不会显示任何错误"password_reset" 但随后显示 "password_reset_done".
错误
任何人都可以告诉我为什么会收到此错误以及如何解决它。任何帮助,将不胜感激。
这会有所帮助,
from django.contrib.auth import views from django.urls import path urlpatterns = [ path('login/', views.LoginView.as_view(), name='login'), path('logout/', views.LogoutView.as_view(), name='logout'), path('password_change/', views.PasswordChangeView.as_view(), name='password_change'), path('password_change/done/', views.PasswordChangeDoneView.as_view(), name='password_change_done'), path('password_reset/', views.PasswordResetView.as_view(), name='password_reset'), path('password_reset/done/', views.PasswordResetDoneView.as_view(), name='password_reset_done'), path('reset/<uidb64>/<token>/', views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'), path('reset/done/', views.PasswordResetCompleteView.as_view(), name='password_reset_complete'), ]