2016-09-18 1 views
2

Zunächst habe ich Projekte mit Django 1.5, Django-Mongoengine, Python 2.7.8 gebaut. Ich habe ein Projekt mit einer Idee gestartet, die mir in den Sinn kam. Ich will es machen mit neuesten Versionen von Technologien deshalb halte ich mich mit:Projekt-Setup mit Django 1.10, Mongodb und Python 3.4.3

Django 1.10, 
python 3.4.3 

Ich will als meine Datenbank verwenden mongodb. Um mein Projekt auszuführen, sehe ich einen Fehler, als ich versuchte, mongodb mit Django zu verbinden. Code im settings.py gegeben wie folgt Datenbank zu verbinden (Die einzige Änderung ich noch in der Datei):

DATABASES = { 
    'default': { 
     'ENGINE': 'django_mongodb_engine', 
     'HOST': '127.0.0.1', 
     'PORT':'27017', 
     'NAME': 'Demo', 
    } 
} 

Bitte helfen Sie mir, um Setup-Projekt so, dass ich mit meiner Arbeit fortfahren kann. Auch die Umgebung, die ich Setup für mein Projekt ist:

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 

Fehler, die ich bin vor ist:

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 

Antwort

3

Sie nicht die normalen Django mit django-mongodb-Motor verwenden können .

django-mongodb-Motor erfordert das Django-nonrel Paket installiert werden, anstatt den normalen Django, die hinter der aktuellen Version des offiziellen Django (1.10) mehrere kleineren Versionen sind.

Wenn Sie den offiziellen Django mit MongoDB verwenden und mit einer ORM-ähnlichen Schicht versehen werden möchten, ist Ihre beste Wette wahrscheinlich Mongoengine, die mit der offiziellen Version von Django funktioniert.

0

Erweiterung der obigen Antwort. Sie können tatsächlich Django mit MongoDB direkt verwenden.

Es ist möglich, django zu verwenden, wie mit MongoDB als Back-End-IS djongo

Es ist ein Compiler, die SQL-Abfragen in mongodb Syntax umwandelt. Mit dieser Funktion funktionieren alle Django-Funktionen wie sie sind.

Disclosure: Ich habe zu diesem Projekt beigetragen und alle Django Contrib-Modelle funktionieren gut als der Back-End-Connector.