gpt4 book ai didi

python - 在 Django 项目中根据环境处理不同配置/设置的最佳方法

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:34 24 4
gpt4 key购买 nike

Is DEBUG == False supposed to mean that the app is running in production environment?

至少,这是我偶尔看到的on the internet .但是我要在 settings.py 中输入什么呢?好的,我可以将本地设置放入 settings_local.py 并从 settings.py 导入它。但是如果某些设置取决于环境,那么我必须将它们放在 import 语句之后。越想越不喜欢。你呢?

最佳答案

作为问题的答案:

Is DEBUG == False supposed to mean that the app is running in production environment?

DEBUG是您在 setting.py 中定义的配置文件。

  • 如果设置为True ,如果出现未处理的异常,它会显示完整的堆栈跟踪以及所有已声明变量的值。

  • 如果设置为False ,您的服务器只返回 500没有任何堆栈跟踪的状态代码。

在生产中,你必须有 DEBUG设置为 False为了防止潜在的安全漏洞风险,以及您不希望用户知道的其他信息。


为了使用不同的settings针对不同的环境配置,创建不同的设置文件。在您的部署脚本中,使用 --settings=<my-settings.py> 启动服务器参数,通过它您可以在不同的环境中使用不同的设置

使用这种方法的好处:

  1. 您的设置将根据每个环境模块化

  2. 您可以导入 master_settings.py包含 environmnet_configuration.py 中的基本配置并覆盖您想要在该环境中更改的值。

  3. 如果你有庞大的团队,每个开发人员可能都有自己的 local_settings.py他们可以将其添加到代码存储库中,而不会有任何修改服务器配置的风险。您可以将这些本地设置添加到 .gitnore如果你使用 git.hginore如果您使用 Mercurial 进行代码版本控制。这样一来,本地设置甚至不会成为实际代码库的一部分,从而保持代码的整洁。

关于python - 在 Django 项目中根据环境处理不同配置/设置的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com