在this tutorial中,它永远不会在以前的文档中编辑settings.py,它支持您需要编辑settings.py的django 1.5。
那么您是否需要编辑该文件?作者是否跳过了那部分,因为它有点明显?
我实际上在新文档中看不到名称settings.py
,并且网上没有太多的mongo db django教程。这里的问题,如果有的话已经过时了。因此,如果这是一个天真的问题,我很抱歉。
如果你想使用pymongo,AFAIK你不能通过settings.py连接,所以我只需要问。
答案 0 :(得分:1)
就个人而言,我喜欢在设置中拥有所有数据库配置,因此我在settings.py中配置了mongo数据库配置以及我的关系数据库配置:
MONGO_DBS = {
'default': {
'alias': 'default', # the alias that Documents refer to
'name': 'default', # the name of the database to connect to
'host': 'localhost', # the host
'port': 27017, # the port
'username': '', # not implemented
'password': '', # not implemented
'enabled': False, # whether or not we connect to this database
},
}
然后,我有一小段代码在settings.py中运行(提示抱怨)并连接到所有相关的mongo实例:
from mongoengine import connect
import sys
if not (len(sys.argv) > 1 and sys.argv[1] == 'test'):
# Don't run this if we're running in unit tests. The test runner will spin
# up the appropriate databases and spin them down appropriately.
for db_name in MONGO_DBS:
db_meta = MONGO_DBS[db_name]
if db_meta['enabled'] and 'alias' in db_meta:
connect(db_meta['name'], alias=db_meta['alias'], host=db_meta['host'], port=db_meta['port'],
lazy_connect=db_meta.get('lazy', True))
显然,只要身份验证没有发生,此代码仍然有些不完整。但对你来说这应该是一个合理的启动点。
我应该补充一点,我只是在mongoengine的django文档页面中挖掘了对settings.py的引用。目前,它位于http://docs.mongoengine.org/en/latest/django.html。
最后,我应该补充一点,这个建议适用于mongoengine 0.8.7(最新的答案)。 YMMV与未来版本。