2013-10-08 28 views
0

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

+0

你想改变什么设置? – tobych

回答

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请求)。如果更换华夫饼干开关,则不需要重新启动任何设备。

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

+0

我明白使用'settings'和使用'waffle'的区别,我特别想使用'waffle'来更改'settings'文件中的值。例如,如果新的“华夫饼切换”功能需要settings.py中定义的不同DB后端。所以这回答了我的第一个问题,那是可能的,但需要重新启动。顺便说一句,好的应用程序 – nak