2011-07-26 4 views
0

disqus opensourceガーゴイルプロジェクトを使用してアプリケーション全体をオフにする方法はありますか? たとえば、ユーザーが自分のアカウントを変更して削除することを許可する管理アプリケーションがあります。アプリ全体にDisqusのガーゴイルを使用

これらの機能を使いたい場合は、アプリ全体をオフにして、使用できないようにしたいもう

私は別々にビューをオフにすることができますが、一般的にはアプリケーションに切り替える方法があります。

参考:Gargoyle Docs

私はこれを解決するために何ができますか?

答えて

2

ガーゴイルがどのように機能するかはわかりません。最も簡単な意味で、ガーゴイルはあなたが追加する条件のセットに過ぎません。デコレータなどを使用して、ビューまたはコードの一部が指定された条件を満たすかどうかに基づいて実行できるかどうかをテストします。

私はあなたがそれを理解していると確信していますが、それは根本的にあなたの質問に色を付けます。ガーゴイルは、あなたが状態の状態をチェックすることによってそれを呼び起こすまで何もしません。バックグラウンドで独自のチェックをしているのではなく、アプリ全体をオフにすることはできません。

私はそれはあなたが望むように取り組んで見ることができる唯一の方法は、あなたの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には魔法のログがあり、実行時にそれを混乱させると危険です。 –

関連する問題