Djoser密码重置确认链接跳转404页面问题求助
解决Djoser密码重置链接404问题
以下是针对该问题的排查和解决步骤:
1. 检查Django主路由是否包含Djoser的URL配置
Djoser的密码重置确认等功能依赖自身的视图与路由,若未在项目urls.py中引入Djoser路由,会直接导致404。
打开项目根目录下的urls.py,添加如下配置:
from django.urls import path, include urlpatterns = [ # 你的其他路由(如admin、自定义api路由等) path('auth/', include('djoser.urls')), # 若使用JWT认证,需额外添加: # path('auth/', include('djoser.urls.jwt')), ]
2. 前后端分离场景的路由调整
如果是前后端分离架构:
- 当前
PASSWORD_RESET_CONFIRM_URL配置的是后端路径,点击链接会请求后端,但后端无对应页面视图,因此返回404。 - 需将
PASSWORD_RESET_CONFIRM_URL修改为前端页面地址,比如前端运行在localhost:3000,则配置改为:'PASSWORD_RESET_CONFIRM_URL': 'http://localhost:3000/password/reset/confirm/{uid}/{token}', - 同时在前端框架(Vue/React等)中配置对应路由,接收
uid和token参数,渲染自定义密码重置页面。
3. 修正Djoser配置的拼写错误
你的配置里LOGIN_FILED存在拼写错误,正确键名为LOGIN_FIELD,该错误可能影响登录功能,建议修正:
'LOGIN_FIELD': 'email',
内容的提问来源于stack exchange,提问作者Maisalbek
相关产品推荐
相关产品推荐

