You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Djoser密码重置确认配置求助及完整流程咨询

Djoser 完整密码重置流程配置与问题排查

完整密码重置流程

  • 发起重置请求:调用/u/admin/register/reset_password/接口,传入目标用户邮箱,Djoser生成唯一的uid和token,并发送包含重置链接的邮件到该邮箱。
  • 用户跳转重置页面:用户点击邮件中的链接,跳转到配置的PASSWORD_RESET_CONFIRM_URL对应的前端页面,页面需提供新密码输入框。
  • 提交新密码:前端收集新密码后,将uid、token和新密码一同发送到Djoser的/reset_password_confirm/(或自定义前缀后的对应接口),完成密码重置。

你的配置问题排查

  1. 重置链接路径格式错误
    你当前的PASSWORD_RESET_CONFIRM_URL配置为u/admin/register/reset_password_confirm/{uid}/{token},缺少开头的/,会导致生成的链接是相对路径,用户从邮箱点击时无法正确跳转到你的网站页面。应修改为:

    "PASSWORD_RESET_CONFIRM_URL": "/u/admin/register/reset_password_confirm/{uid}/{token}"
    

    生产环境下需要加上完整域名,例如:

    "PASSWORD_RESET_CONFIRM_URL": "https://your-domain.com/u/admin/register/reset_password_confirm/{uid}/{token}"
    
  2. 确认重置确认接口的路由匹配
    确保Djoser路由配置中包含重置确认端点,默认情况下Djoser会注册/users/reset_password_confirm/,如果项目自定义了路由前缀,需对应调整前端提交请求的地址。

  3. 前端页面参数处理
    跳转后的前端页面需正确从URL中提取uid和token参数,提交新密码时,将这两个参数与新密码一起发送到重置确认接口,参数名需与Djoser要求一致(默认是uid、token、new_password)。

补充排查方向

如果仍有错误,建议检查:

  • 邮件发送时的域名配置,确保链接是完整的绝对路径
  • Djoser版本与Django版本的兼容性
  • 前端提交请求的方法(需为POST)和参数格式(JSON或表单数据,取决于配置)

内容的提问来源于stack exchange,提问作者zoro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 08:35:32