Django重置密码抛出500错误

时间:2018-02-01 14:21:54

标签: python django python-3.x django-forms

我已使用django ResetPassword实现了重置密码。但它抛出了500错误。我不知道如何找到流量&修理它。

1.我创建了urls.py

    from __future__ import unicode_literals
    from django.conf.urls.static import static
    from django.conf import settings
    from django.contrib import admin
    from django.contrib.auth import views as auth_views
    from django.urls import include, path

    from . import views

    app_patterns = [
        path('login/', auth_views.LoginView.as_view(), name='login'),
        path('logout/', auth_views.LogoutView.as_view(), 
        name='logout'),
        path('signup/', views.Signup.as_view(), name='signup'),
        path(
            'password_reset/',
            auth_views.PasswordResetView.as_view(),
            name='password_reset'
        ),]

我也创建了HTML文件(请参阅Screenshot

  • password_reset_form
  • password_reset_done
  • password_reset_confirm
  • password_reset_complete

我不知道我在这里缺少什么。有人可以帮帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

重置密码需要多个视图。 The docs建议启用它们的最简单方法是包含threejs

django.contrib.auth.urls

如果您想要更多控制权,可以单独包含它们。查看django.contrib.auth.urls的代码,了解如何包含它们。例如,密码重置URL将是:

urlpatterns = [
    ...
    path('accounts/', include('django.contrib.auth.urls')),
]

请注意,在你的答案中你有

urlpatterns = [
    ...    
    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不会自动使用app_patterns = [ ... ] 。你应该

app_patterns