使用Django 1.10,mongodb和Python 3.4.3进行项目设置

时间:2016-09-18 08:39:50

标签: django mongodb python-3.4

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

2 个答案:

答案 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模型都可以作为后端连接器使用。