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

时间:2010-01-21 13:06:14

标签: django settings django-settings

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

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

幸运的是,设置只是一个包含变量的python模块,因此您可以使用任何魔法来填充所需的变量。

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

显然,现有的企业实践是开发人员创建战争,操作部门将其打到蓝鱼并负责所有数据库(和此类)操作(根据{{ 3}})。

您可以创建哪些动态settings.py来帮助现有的企业实践?

2 个答案:

答案 0 :(得分:1)

我经常看到设置文件的内容如下:

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让它直接工作,而没有设置任何东西。

答案 1 :(得分:0)