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

Django集成Djongo连接MongoDB报数据库后端导入错误

报错核心原因

核心原因是项目settings.py中数据库ENGINE配置项填写错误,误将教程示例里的占位符mypackage作为路径前缀保留。Djongo安装完成后会作为独立顶层Python模块存在,项目中根本不存在mypackage.backends.djongo这个可导入路径,Python无法定位到对应数据库后端模块,首先触发ModuleNotFoundError,进一步导致Django抛出数据库后端不可用的ImproperlyConfigured异常。

修复操作步骤
  • 确认依赖安装:先激活你跑项目用的虚拟环境,执行pip install djongo安装对应驱动,注意版本匹配:Python3.10+Django3.2LTS环境搭配Djongo 1.3.6版本最稳定,不要用过高的Django版本避免ORM兼容问题。
  • 修改数据库配置:打开项目目录下的settings.py,找到DATABASES配置块,将错误的ENGINE值替换为Djongo官方提供的正确路径,不要保留任何自定义包前缀,参考配置如下:
DATABASES = {
    'default': {
        'ENGINE': 'djongo',
        'NAME': '你要使用的MongoDB库名',
        'CLIENT': {
            'host': 'MongoDB连接地址,本地部署默认填mongodb://127.0.0.1:27017',
            # 若MongoDB开启了账号认证,再补充下面两个配置项,无认证可删除
            # 'username': 'MongoDB连接账号',
            # 'password': 'MongoDB连接密码',
        }
    }
}
  • 校验运行环境:配置保存后,先确认本地/远程MongoDB服务处于正常启动状态,再重新执行Django的迁移、启动命令即可。
常见踩坑提示
  • 不要照搬老旧教程里的自定义后端路径配置,Djongo安装完成后不需要手动创建任何backends目录、不需要加任何自定义路径前缀,ENGINE字段直接填djongo即可。
  • 如果改完配置仍然报模块找不到的错误,先在虚拟环境终端执行pip list查看已安装包列表,确认djongo安装在当前项目所用的虚拟环境中,不要把包装到全局Python环境导致虚拟环境内无法识别。
  • 若后续跑迁移出现字段类型兼容报错,优先检查Django版本,不要使用4.0及以上版本的Django搭配当前稳定版Djongo,二者适配不完全。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 22:57:10