使用 Django 1.10、mongodb 和 Python 3.4.3 的项目设置

Project Setup with Django 1.10, mongodb and Python 3.4.3

最初我使用 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

您不能将 普通 Django 与 django-mongodb-engine 一起使用。

django-mongodb-engine 需要安装 Django-nonrel 包,而不是正常的 Django,它比当前官方 Django 版本落后几个小版本 (1.10).

如果你想使用带有 MongoDB 的官方 django 并提供类似 ORM 的层,你最好的选择可能是 Mongoengine,它可以与官方版本的 Django 一起使用。

扩展上述答案。 可以 实际上直接将 Django 与 MongoDB 一起使用。

可以使用 MongoDB 作为后端的 django AS IS djongo

它是一个将SQL查询转换为mongodb语法的编译器。使用此功能,所有 Django 功能都可以正常工作。

披露:我为这个项目做出了贡献,所有 Django contrib 模型都可以很好地使用它作为后端连接器。