最初我用Django 1.5,django-mongoengine,python 2.7.8构建了项目。我已经开始了一个有想法的项目。我想使用最新版本的技术,因此我坚持:
Django 1.10,
python 3.4.3
我想使用mongodb作为我的数据库。为了运行我的项目,当我尝试将mongodb与Django连接时,我遇到了一个错误。 settings.py中的代码如下连接数据库(我在文件中做的唯一更改):
DATABASES = {
'default': {
'ENGINE': 'django_mongodb_engine',
'HOST': '127.0.0.1',
'PORT':'27017',
'NAME': 'Demo',
}
}
请帮我设置项目,以便我可以继续我的工作。我为我的项目设置的环境也是:
Django 1.10.1
django-mongodb-engine 0.6.0
django-mongodb-engine-py3 0.6.0.1
django-nonrel-enuff 0.4
django-toolbox 0.1
djangotoolbox 1.8.0
mongoengine 0.10.6
pip 8.1.2
pymongo 3.3.0
setuptools 27.2.0
我面临的错误是:
File "/home/username/Documents/Projects /ProjectsENV/lib/python3.4/site- packages/django_mongodb_engine/base.py", line 272
raise ImproperlyConfigured, exc_info[1], exc_info[2]
^
SyntaxError: invalid syntax
答案 0 :(得分:3)
您不能将普通Django 与django-mongodb-engine 一起使用。
django-mongodb-engine需要安装Django-nonrel软件包,而不是普通的Django,后者是官方Django( 1.10 )当前版本的几个次要版本。
如果您想将官方django与MongoDB一起使用并提供类似ORM的图层,那么最好的选择可能是Mongoengine,它可以与Django的正式版本一起使用。
答案 1 :(得分:2)
扩展上述答案。 您可以直接将Django与MongoDB一起使用。
可以使用django AS IS和MongoDB作为后端djongo
它是一个将SQL查询转换为mongodb语法的编译器。使用这个Django所有功能都可以正常工作。
披露:我为这个项目做出了贡献,所有Django contrib模型都可以作为后端连接器使用。