2015-08-14 112 views
0

我使用mongoengine我project.When我試圖執行syncdb命令,我現在面臨以下錯誤:Django的:Mongoengine執行syncdb失敗

File "C:\Python34\lib\site-packages\django\db\backends\dummy\base.py" 
raise ImproperlyConfigured("settings.DATABASES is improperly configured." 
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. 
Please supply the ENGINE value. Check settings documentation for moredetails. 

這裏是settings.py代碼

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.dummy', 
    } 
} 

AUTHENTICATION_BACKENDS = (
    'mongoengine.django.auth.MongoEngineBackend' 
) 
SESSION_ENGINE = 'mongoengine.django.sessions' 


_MONGODB_HOST = 'localhost' 
_MONGODB_NAME = 'demo' 

conn = mongoengine.connect(_MONGODB_NAME,host=_MONGODB_HOST) 

我想使用mongodb進行用戶身份驗證,因此我需要在Database中創建用戶身份驗證集合。是否可以在mongoengine?如果你想使用MongoDB的mongoengine

謝謝

回答

2

syncdb命令可用於如MySQL關係數據庫,Postgres的等等,你不需要跑syncdb。如果你定義了mongoengine文檔,它們可以直接用於查詢。欲瞭解更多詳情,請閱讀mongoengine connect。還請看defining-documents與mongoengine。

2

Django被編寫用於關係數據庫。 syncdb所做的是在您的settings.py文件中列出的關係數據庫中創建您的表。

Mongo-db另一方面是非關係數據庫,因此無模式。 syncdb在這裏不起作用,因爲沒有要生成的模式/表。

您使用mongoengine連接到mongo-db的方式是正確的。現在您只需創建模型並開始使用。請從您的settings.py文件中刪除DATABASESAUTHENTICATION_BACKENDS

正常身份驗證在您執行mongo-db時不起作用。使用mongo-db檢查this link以實現身份驗證。

另外,爲了更好的理解,進一步閱讀mongoengine docs

相關問題