python - Django重置密码链接给出404
问题描述
我已经实现了 django_reset_password 功能。
一切都在本地主机上完美运行,但是当我在服务器上运行相同的东西时,我在电子邮件中获得的链接显示服务器上的 404。
path('password_reset/', password_reset, name='auth_password_reset'),
path('password_reset/done/', password_reset_done, name='auth_password_reset_done'),
path('reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,23})/',
password_reset_confirm, name='auth_password_reset_confirm'),
path('reset/done/', password_reset_complete, name='auth_password_reset_complete'),
“auth_password_reset_confirm”是我在服务器上得到 404 的函数。
上面的链接给出了 404
但是这个相同的 url 在 localhost 中有效。
请告诉我我做错了什么。
解决方案
好吧,我以为我使用的是 django 2.2,所以我应该使用 'path' 而不是 'url' 但随后出现了上述错误。
所以我将我的“路径”转换为“url”,它起作用了。
由此:
path('password_reset/', password_reset, name='auth_password_reset'),
path('password_reset/done/', password_reset_done, name='auth_password_reset_done'),
path('reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,23})/',
password_reset_confirm, name='auth_password_reset_confirm'),
path('reset/done/', password_reset_complete, name='auth_password_reset_complete'),
对此:
url(r'^password_reset/$', password_reset, name='auth_password_reset'),
url(r'^password_reset/done/$', password_reset_done, name='auth_password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,23})/$',
password_reset_confirm, name='auth_password_reset_confirm'),
url(r'^reset/done/$', password_reset_complete, name='auth_password_reset_complete'),
它奏效了!!
推荐阅读
- android - 我应该如何避免将最后一项增长到全宽?FlexBoxLayoutManager
- sql - 如何用国旗表情符号替换国家名称或 ISO 代码
- java - 如何编写通用方法来交换数组中项目的值?
- javascript - 如何更改进度条样式?
- javascript - 如何在本地网络上运行 Brunch + React
- couchdb - couchdb 验证其他数据库中的文档
- python - 熊猫用行中前一个值和下一个值的平均值估算 Null
- reactjs - 反应 setState() 回调问题,无法访问输出变量
- macos - 经过公证的 PKG 验证但在尝试安装时失败
- python - 查找员工平均工资的最大和最小名称