2011-07-26 52 views
0

有沒有辦法使用disqus開源gargoyle項目來關閉整個應用程序。 例如,我有一個管理應用程序,允許用戶更改帳戶並刪除它們等。使用Disqus'gargoyle整個應用程序

如果我想調整這些功能,我想關閉整個應用程序,以便它們無法使用它了。

我知道我可以單獨關閉視圖,但有沒有一種方法可以將切換應用到一般應用程序。

參考:Gargoyle Docs

我能做些什麼來解決這個問題?

回答

2

這似乎並不是Gargoyle的工作原理。從最簡單的意義上說,Gargoyle只是您添加的一組條件。你使用裝飾器等來測試一個視圖或一段代碼是否被允許運行,基於它是否符合指定的條件。

我相信你明白,但它從根本上着色你的問題。直到你通過檢查一個條件的狀態來喚醒它,Gargoyle纔會執行任何操作。它不會在後臺運行自己的檢查,所以你不能告訴它自己關閉整個應用程序。

我可以看到它的工作您想要的方式,唯一的方法是直接在你的settings.py文件使用gargoyle.is_active

INSTALLED_APPS = [ 
    # always on apps 
] 

from gargoyle import gargoyle 
if gargoyle.is_active('my_switch'): 
    INSTALLED_APPS.append('my_conditional_app') 

但是,我不知道這是否會真正在實際工作中,和即使這樣做,它是否會以其他方式破壞浩劫。

+0

是的我明白了,你的解決方案在理論上似乎是正確的,但是這種方法可能會讓我的項目失敗^^我可能只是在每個函數上聲明它,沒有我預期的那麼多的工作,但是謝謝lot – cwoebker

+0

由於settings.py是在wsgi進程啓動時處理的,因此這僅限於在wsgi start時打開/關閉。有一個關於settings.py的魔法日誌,在運行時與它混淆可能是危險的。 –