Django+MongoDB环境配置报错:django_mongodb_engine不可用
解决Django+MongoDB环境中
django_mongodb_engine后端不可用的问题 你遇到的核心问题是缺失专门的MongoDB数据库后端包,另外还有个容易忽略的环境版本不一致问题,一步步来解决:
1. 安装适配版本的django-mongodb-engine
你的requirements.txt里只包含了djangotoolbox和mongoengine,但Django要连接MongoDB必须依赖django-mongodb-engine这个后端引擎。考虑到你用的是Django1.7.11和Python2.7.10,得安装完全兼容的版本:
# 务必在你的Python2.7虚拟环境中执行这条命令 pip install django-mongodb-engine==0.6.0
这个版本是专门适配Django1.7系列和Python2.x的,更高版本会出现兼容性问题。
2. 修正虚拟环境与Python调用的不一致
你提到虚拟环境用的是Python2.7.10,但启动命令用的是python3 manage.py runserver——这会导致你安装的依赖都在Python2.7的环境目录里,却用Python3去加载,自然找不到django_mongodb_engine。请改用虚拟环境自带的Python执行启动命令:
# 激活虚拟环境后,直接用python(不是python3)运行 python manage.py runserver
3. 确认settings.py的数据库配置正确
确保你的项目配置文件里的数据库设置是针对MongoDB的正确格式:
DATABASES = { 'default': { 'ENGINE': 'django_mongodb_engine', 'NAME': 'your_db_name', # 替换成你要使用的MongoDB数据库名 # 如果你的MongoDB需要认证或远程连接,可添加以下配置 # 'USER': 'db_username', # 'PASSWORD': 'db_password', # 'HOST': '127.0.0.1', # 'PORT': 27017, } }
4. 同步所有依赖包
最后重新同步你的requirements.txt,确保所有依赖都完整安装:
pip install -r requirements.txt
完成以上步骤后,再尝试启动服务器,应该就能解决这个ImproperlyConfigured错误了。
内容的提问来源于stack exchange,提问作者Casey Cao
相关产品推荐
相关产品推荐

