【问题标题】:Is there a way to mention the database settings while starting the Django app?有没有办法在启动 Django 应用程序时提及数据库设置?
【发布时间】:2018-08-28 15:41:34
【问题描述】:

从文档看来,数据库需要存在于 settings.py 中。鉴于迁移已完成,有没有办法在运行 python manage.py runserver 时传递数据库详细信息?

编辑 -

用例 - 事先不知道数据库,因此我无法在 settings.py 中对其进行硬编码。此外,整个应用程序将有一个数据库。

  1. Using a settings file other than settings.py in Django - 这个问题回答了如何使用不同于 settings.py 的设置文件。但是,我正在寻找不使用设置文件来指定数据库凭据的方法。

【问题讨论】:

标签: django


【解决方案1】:

将你的 settings.py 分成两个文件

  • base_settings.py(这里添加所有常用设置)
  • 开发.py (在此处添加您的数据库设置)

喜欢:

from .base_settings import *

DATABASES = {
    'default': {
        'ENGINE': 'XX.db.backends.postgresql',
        'NAME': 'XX',
        'USER': 'postgres',
        'ATOMIC_REQUESTS':True,
        'PASSWORD': '*****',
        'HOST': '0.0.0.0',
        'PORT': '5432',
    }
}

并使用

运行您的项目
python manage.py runserver 0.0.0.0:8002 --settings=django_project_name.development

【讨论】:

  • 如果我可以将参数传递给 development.py(或 base_settings.py),那么这将是最好的解决方案,因为我不必在运行时修改文件。
  • 试试是否可以将.json文件设置为配置文件并读取它的值。
猜你喜欢
  • 1970-01-01
  • 2020-03-07
  • 2019-01-11
  • 1970-01-01
  • 1970-01-01
  • 2013-11-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多