Django用户账户激活时提示激活URL不存在返回404错误排查求助
Django激活功能404问题排查结果
核心错误原因
你在account应用的urls.py中配置激活路由时,在<slug:token>参数后多写了一个多余的右括号),导致Django实际注册的激活路由为/account/activate/<uidb64>/<token>)/,和你实际访问的无结尾右括号的激活链接路径不匹配,因此触发404错误。
修复步骤
- 打开
account应用下的urls.py文件,将原激活路由配置修改为如下内容(删除token参数后的多余右括号):
urlpatterns = [ path('activate/<slug:uidb64>/<slug:token>/', views.account_activate, name='activate'), ]
- 重启Django开发服务,重新访问激活链接即可正常匹配路由。
可选优化项(非404问题必要修复)
如果你使用的是Django 4.0及以上版本,force_text方法已被弃用,可以将views.py中的force_text替换为force_str,避免后续运行时出现警告。
内容的提问来源于stack exchange,提问作者C-Bizz
相关产品推荐
相关产品推荐

