2016-09-18 33 views
2

最初我使用Django 1.5,django-mongoengine,python 2.7.8構建項目。我開始了一個有想法的項目。我想使用最新版本的技術,因此我堅持:使用Django 1.10,mongodb和Python 3.4.3的項目設置

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 

回答

3

你不能用的Django MongoDB的發動機使用普通的Django

的Django MongoDB的發動機需要安裝的Django-nonrel包,而不是普通的Django,這是官方的Django的當前版本(1.10)後面幾個次要版本。

如果你想在MongoDB中使用官方的django並且提供一個類似ORM的圖層,你最好的選擇可能是Mongoengine,它與Django的正式版本一起工作。

0

擴展上述答案。 可以直接使用Django和MongoDB。

這是可能的,與MongoDB是作爲後端djongo

這是一個SQL查詢轉換成MongoDB的語法編譯器使用Django。使用這個所有的Django功能都是按原樣工作的。

披露:我已經對這個項目做出了貢獻,所有的Django contrib模型都可以正常工作,作爲後端連接器。