python - 如何获取未在我的 settings.py 文件中定义的 django 默认设置值?

标签 python django django-settings

我一定错过了一些东西。

我正在尝试从设置文件导入 DEFAULT_CONTENT_TYPE。 我没有在 settings.py 文件中专门定义它,但我假设默认值可用。

当我将此变量添加到我的settings.py 中时,它工作正常,但是当它不存在并且我尝试导入时,通过 runserver 命令使用开发服务器时会出现 ImportError:

from settings import DEFAULT_CONTENT_TYPE
ImportError: cannot import name DEFAULT_CONTENT_TYPE

我是否应该能够在不将其添加到我的 settings.py 文件中的情况下执行此操作?

最佳答案

切勿使用从设置导入...导入设置。这将始终只导入您的设置模块,而不是整个 Django 设置。

在所有 Django 项目中使用 from django.conf import settings 。这是使用 Django Settings 类,它是所有 Django 定义的设置和设置文件中的项目设置的包装器。

因此,对于您的示例,您将通过 settings.DEFAULT_CONTENT_TYPE 访问 DEFAULT_CONTENT_TYPE

关于python - 如何获取未在我的 settings.py 文件中定义的 django 默认设置值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7087405/

相关文章:

python - 多对多关系 : get-or-create

python - Django AttributeError 'ModelFormOptions' 对象没有属性 'concrete_fields'

python - 跳过 Django 中的迁移列表

django 在模板中使用媒体 URL

django - 属性错误 : 'tuple' object has no attribute 'startswith'

python - 如果我将数据库连接存储在 flask.g 对象上,如何让 Flask 连接到我的测试数据库?

java - 斯坦福标注器不工作

python - 最小化 RDP(VM) 时自动化脚本失败

javascript - HighCharts 图表中的单引号未正确显示

python - Django MessageMiddleware 失败