配置Django与MongoDB连接后遭遇数据库后端配置错误求助
解决Django连接MongoDB时的数据库后端配置错误
这个错误的核心原因是Django原生不支持MongoDB,你要么是数据库配置里的ENGINE参数写错了,要么没装适配MongoDB的第三方后端库。按下面步骤解决:
1. 安装适配MongoDB的Django后端库
最常用的是djongo,它能让你直接用Django原生ORM操作MongoDB,执行命令安装:
pip install djongo
2. 修正settings.py中的数据库配置
打开项目根目录下的settings.py,找到DATABASES配置块,把错误的ENGINE值替换成djongo,并补充MongoDB连接信息:
DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': '你的MongoDB数据库名称', # 比如'my_django_db' 'CLIENT': { 'host': 'mongodb://localhost:27017', # 本地MongoDB地址,远程的话替换成对应URL 'username': '你的MongoDB用户名', # 无认证可以去掉这两行 'password': '你的MongoDB密码', 'authSource': 'admin', 'authMechanism': 'SCRAM-SHA-1', } } }
注意:绝对不能把ENGINE设为'django',必须用第三方库提供的引擎标识。
3. 验证配置是否生效
在项目根目录执行迁移命令,测试连接:
python manage.py migrate
如果命令执行成功,说明配置没问题;如果还是报错,检查:
- MongoDB服务是否正常运行(本地的话看mongod进程是否启动)
- 连接地址、端口、用户名密码是否正确
- 目标数据库是否存在(不存在的话MongoDB会自动创建)
内容的提问来源于stack exchange,提问作者Praveen Chouhan
相关产品推荐
相关产品推荐

