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/