Django 动态设置基础设施和最佳实践

标签 django settings django-settings

Django 设置包括一个 python 变量列表,这些变量用于从数据库设置到已安装应用程序的大量事物。甚至许多可重复使用的应用程序都需要进行一些设置。

有几十个站点,很难管理所有项目的设置。

幸运的是,设置只是一个带有变量的 python 模块,所以你可以做任何魔法来填充你想要的变量。

您遵循了哪些做法,或者您认为可以使用哪些做法将各种相关设置分离到不同的文件中?

显然,现有的企业实践是开发人员发起 war ,运维部门将其打给蓝鱼并负责所有数据库(和此类)运维工作(根据 Jacob's email )。

有什么动态settings.py你能创造出有助于现有企业实践的东西吗?

最佳答案

我经常看到设置文件类似于:

from localsettings import *

localsettings.py诸如数据库连接和DEBUG值被定义。 localsettings.py对于每个部署环境(开发/登台/生产等)来说(或可能)不同,并且不会与其他所有环境一起存在于源代码控制中。

我最近发现有用的东西是把它放在我的 settings.py 中。 :
try:
    from localsettings import *
except ImportError:
    from default_localsettings import *

default_localsettings.py我定义了一堆默认值( DEBUG = True ,在与 default_localsettings.py 相同的目录中使用 sqlite 数据库等)。

设置好之后这可能没用,但我发现它很有用,只是能够检查我的项目是否脱离源代码控制并使用 runserver 让它立即工作。 ,而无需进行任何设置。

关于Django 动态设置基础设施和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2109352/

相关文章:

django - SocketException : OS Error: Connection refused, errno = 111 在 flutter 中使用 django 后端

iPhone 和 NSUserDefaults

sql - 使用 SELECT 语句查询自定义 postgresql 参数

Python/Django - 避免在源代码中保存密码

Django 1.3.1 Heroku Postgres 错误

python - Django 3.1新版本,设置文件有一些变化

Django Rest 框架、CSRF 和 Vue.js

python - Django 查询集 : Exclude all row(s) if any one row with same id is excluded

javascript - 检测用户编辑时表格单元格的更改

C# .NET 应用程序设置和升级