可以在 Django 之外使用 Django 数据库层吗?

新手上路,请多包涵

我在 Django 中创建了一个很好的数据库,我想通过我网站内容 之外 的一些 python 脚本与它进行交互。我很好奇是否可以在 Django 站点之外使用 Django 数据库 API,如果可以,有人知道如何完成吗?谷歌并没有为此产生很多有用的结果。

原文由 gct 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 411
2 个回答

您只需在进行任何调用之前配置 Django 设置,包括导入模型。是这样的:

 from django.conf import settings
settings.configure(
    DATABASE_ENGINE = 'postgresql_psycopg2',
    DATABASE_NAME = 'db_name',
    DATABASE_USER = 'db_user',
    DATABASE_PASSWORD = 'db_pass',
    DATABASE_HOST = 'localhost',
    DATABASE_PORT = '5432',
    TIME_ZONE = 'America/New_York',
)

同样,一定要在运行之前运行该代码,例如:

 from your_app.models import *

然后像往常一样使用 DB API。

原文由 FogleBird 发布,翻译遵循 CC BY-SA 2.5 许可协议

对于 django 1.7,我使用以下命令启动并运行。

设置.py:

 from django.conf import settings
settings.configure(
    DATABASES={
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'name',
            'USER': 'usr',
            'PASSWORD': 'secret',
            'HOST': '127.0.0.1',
            'PORT': '5432',
        },
    },
    TIME_ZONE='America/Montreal',
)

在包含启动例程的文件中

import os
import django

import v10consolidator.settings
from myapp.models import *

os.environ.setdefault(
    "DJANGO_SETTINGS_MODULE",
    "myapp.settings"
)
django.setup()

原文由 Gab 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题