使用Waffle切换settings.py

时间:2013-10-08 14:20:20

标签: django django-settings

使用Waffle Switches有条件地更改项目settings.py中的设置是否有任何警告?
例如,是否需要重新启动Django进程才能使更改生效? 如果需要重新启动 ,那么自动执行此操作的最佳方法是什么?

1 个答案:

答案 0 :(得分:4)

我创造了华夫饼干。它不会替换设置,也不会以constance设计的相同方式与它们进行交互。

有些东西既可以是设置,也可以是华夫饼干开关,但这是两种不同的方法。

from django.conf import settings
def my_function():
    if settings.SOME_SETTING:
        # do one thing

VS

from waffle import switch_is_active
def my_function():
    if switch_is_active('my-switch'):
        # do something

最大的区别在于,如果更改设置,则必须重新启动Django进程(除非在cron作业或管理命令中使用该设置或其他不是Web请求的设置)。如果更换华夫饼机开关,则无需重新启动任何东西。

而且,为了完整起见,问题的最后部分:waffle flags需要一个请求,因为它们有许多活动标准,但样本和开关却没有。它们的价值不取决于请求。