Django:如何管理开发和生产设置?

Django:如何管理开发和生产设置?,第1张

Django:如何管理开发和生产设置

DJANGO_SETTINGS_MODULE
环境变量,其设置文件Django的控件将加载。

因此,您可以为各自的环境创建单独的配置文件(请注意,它们当然可以

import*
来自单独的“共享设置”文件),并用于
DJANGO_SETTINGS_MODULE
控制使用哪个文件。

这是如何做:

如Django文档中所述:

DJANGO_SETTINGS_MODULE的值应采用Python路径语法,例如mysite.settings。请注意,设置模块应位于Python导入搜索路径上。

所以,让我们假设你创建

myapp/production_settings.py
myapp/test_settings.py
在源存储库。

在这种情况下,您将分别设置

DJANGO_SETTINGS_MODULE=myapp.production_settings
使用前者和
DJANGO_SETTINGS_MODULE=myapp.test_settings
后者。


从现在开始,问题归结为设置

DJANGO_SETTINGS_MODULE
环境变量。

设置
DJANGO_SETTINGS_MODULE
使用脚本或shell

然后,您可以使用引导脚本或流程管理器来加载正确的设置(通过设置环境),或者仅在启动Django:之前从您的Shell中运行它

exportDJANGO_SETTINGS_MODULE=myapp.production_settings

请注意,您可以随时从Shell运行此导出-它不需要存在于您的

.bashrc
容器中。

DJANGO_SETTINGS_MODULE
使用流程管理器进行设置

如果您不喜欢编写用于设置环境的引导脚本(并且有很好的理由!),我建议您使用流程管理器:

  • 通过Supervisor,您可以使用程序的
    environment
    配置密钥将环境变量传递给托管进程。
  • Honcho(与Ruby的Foreman完全相同的Python)可让您在“ environment”(
    .env
    )文件中定义环境变量。

最后,请注意,您 可以
利用

PYTHONPATH
变量将设置存储在完全不同的位置(例如,在生产服务器上,将其存储在中
/etc/
)。这允许将配置与应用程序文件分开。您可能想要或不想要它,这取决于您的应用程序的结构。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5616519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存