django - 在开发、暂存和生产之间分离自定义设置变量

标签 django

我遵循项目结构 as laid out by Zachary Voase ,但我正在努力解决一个具体问题。

我非常希望有一个我将在项目中使用的自定义设置 bool 变量(我们称之为 SEND_LIVE_MAIL)。基本上,我想在我的代码中使用这个设置变量,如果 SEND_LIVE_MAIL 为 True 实际上发送邮件,而当它设置为 False 时只是将其内容打印到控制台。后者适用于开发环境和运行单元测试。

什么是实现它的好方法?目前,根据环境,django 服务器使用 dev、staging 或 prd 设置,但对于自定义设置变量,我认为这些需要“按字面意思”导入。换句话说,我会在我的观点中使用类似

from settings.development import SEND_LIVE_MAIL

这当然不是我想要的。我希望能够做类似的事情:

from settings import SEND_LIVE_MAIL

并根据环境,将正确的值分配给 SEND_LIVE_MAIL 变量。

提前致谢!

最佳答案

无论如何,您都不应该直接从您的设置文件中导入。使用:

>>> from django.conf import settings
>>> settings.SEND_LIVE_MAIL
True

关于django - 在开发、暂存和生产之间分离自定义设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9217275/

相关文章:

重定向后未设置 Django : request. 用户

python - 大型 Django 应用程序布局

python - django:从返回结果列表链接到详细信息页面

python - Django 和猴子修补问题

python - 我在 django 中不断收到以下错误 : "UnboundLocalError at/myapp/"

基于用户类型的 Django 装饰器

python - 如何在 Heroku 中的 Django 中安排单次事件?

Django Redis 缓存值

python - 为什么 django 和 python MySQLdb 每个数据库有一个游标?

Django 到 AWS : favicon, robots.txt 和站点地图?