python - 最新的django和mongo引擎,需要编辑settings.py来安装吗?

标签 python django mongodb mongoengine

this tutorial ,它从来没有说要编辑settings.py,在之前的文档中,支持django 1.5你需要编辑settings.py。

那么您是否需要编辑该文件?作者是否因为太明显而跳过了这一部分?

实际上,我在新文档中没有看到 settings.py 这个名称,并且网络上也没有太多 mongo db django 教程。这里的问题(如果有的话)已经过时了。因此,如果这是一个天真的问题,我很抱歉。

如果你想使用 pymongo,据我所知你不会从 settings.py 连接,所以我不得不问。

最佳答案

就个人而言,我喜欢将所有数据库配置放在设置中,因此我在 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 以及 future 的版本。

关于python - 最新的django和mongo引擎,需要编辑settings.py来安装吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28355433/

相关文章:

Python Flask 捕获多个完整性错误 = 如果用户或电子邮件引发完整性错误,则会出现不同的错误消息

python - 在 django admin 中对模型中的自定义字段进行排序

node.js - mongodb/mongoose 使聚合 $lookup 成为可选的

javascript - 创建对象时是否可以使用 'default' 属性复制 Mongoose 模式中的对象属性?

mongodb - 在 Jongo 中,如何通过 ID 列表从 Mongodb 中查找多个文档

python - openpyxl 库 - jdcal 错误

python - 如何使用 conda 升级到 Python 3.6?

python - 有没有办法从简单(非测试)函数直接引用 pytest 固定装置?

django - 有没有办法将新的 Django 对象的 id 值设置为从某个值开始?

django - 如何取消应用 django 1.7 中的第一次迁移