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

Django集成Djoser访问/auth/users/me/报No module named 'accounts'求助

问题根源

你在settings.py的DJOSER配置中指定了不存在的序列化器路径:

DJOSER = {
    # 其他配置
    'SERIALIZERS': {
        # 其他序列化器配置
        'current_user': 'accounts.serializers.UserCreateSerializer', # 这里引用的accounts应用不存在
    }
}

/auth/users/me/端点被调用时会加载current_user对应的序列化器,系统找不到accounts应用就会抛出对应的模块不存在错误。你之前的创建用户接口运行正常,是因为它使用的user_create配置指向了真实存在的base应用下的序列化器。

修复方案

把current_user的路径修改为你实际存放序列化器的路径即可,你当前的自定义序列化器都放在base应用下,直接替换对应配置行:

'current_user': 'base.serializers.UserSerializer',

如果你base应用的serializers.py里有专门的当前用户序列化器,对应修改路径即可。

额外注意事项

不建议直接修改Django源码中的AbstractUser定义,后续更换虚拟环境、升级Django版本都会导致你修改的内容丢失。正确的自定义用户模型方式是:

  • 在你的base应用的models.py中继承AbstractUser,重写你需要修改的字段和属性
  • 在settings.py中添加配置AUTH_USER_MODEL = 'base.你自定义的用户模型类名'
  • 执行迁移命令生效即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:54:00