【问题标题】:How could i get over NoReverseMatch at /polls/reset-password/ error to continue in making password resetting?我怎样才能在 /polls/reset-password/ 错误处克服 NoReverseMatch 以继续进行密码重置?
【发布时间】:2018-01-30 15:02:07
【问题描述】:

我的 urls.py 就是这个,即使我已经创建了密码重置完成 url

from django.conf.urls import url
from .import views
from django.conf.urls import url
from django.contrib.auth.views import login, logout, password_reset, 
password_reset_done, password_reset_confirm, password_reset_complete

urlpatterns= [
    url(r'^$',views.index, name= "index"),
    #127.0.0.1/polls
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name= "detail"),
    #127.0.0.1/polls/1
    url(r'^(?P<question_id>[0-9]+)/results$', views.results, name="results"),
    #127.0.0.1/polls/1/results
    url(r'^(?P<question_id>[0-9]+)/vote$', views.vote, name="vote"),
    #127.0.0.1/polls/1/vote
    url(r'^login/$', login, {'template_name': 'polls/login.html'}),
    url(r'^logout/$', logout, {'template_name': 'polls/logout.html'}),
    url(r'^register/$', views.register, name= 'register'),
    url(r'^profile/$', views.view_profile, name= 'profile'),
    url(r'^edit_profile/$', views.edit_profile, name= 'edit_profile'),
    url(r'^change-password/$', views.change_password, name='change_password'),
    url(r'^reset-password/$', password_reset, name='reset_password'),
    url(r'^reset-password/done/$', password_reset_done, name='password_reset_done'),
]

我收到以下错误。

【问题讨论】:

  • 您可能缺少namespace。试试reverse('polls:password_reset_done')。如果不是,请将 polls 替换为您的命名空间。

标签: python django django-views django-urls


【解决方案1】:

问题是您在polls 应用程序中包含了密码重置网址。这意味着您将使用 'polls:password_reset_done' 而不是 'password_reset_done' 来反转 URL。

由于您不想编辑 Django 的密码重置视图,最简单的解决方法是将密码重置 URL 从 polls/urls.py 移出到您的主 urls.py(与 @ 在同一目录中的那个) 987654326@)

【讨论】:

  • “它还没有工作”不足以了解问题所在。我们不知道您现在的代码是什么,或者您看到了什么消息。
  • 我指的是 django 教程的视频 21,了解如何生成密码重置电子邮件......并且在投票后出现语法错误:password_reset_done
  • 正如我所说,我认为将polls:password_reset_done 放入可能是错误的方法。我会将密码重置 URL 从 polls/urls.py 中移出。
  • 我也应该移动 password_reset 吗?
  • 是的,我会移动所有的密码重置 URL。
猜你喜欢
  • 2014-11-20
  • 2019-05-28
  • 1970-01-01
  • 2020-04-22
  • 2018-02-07
  • 1970-01-01
  • 2012-02-27
  • 2015-04-09
  • 2014-03-21
相关资源
最近更新 更多