質問

ユーザーが2つのインターフェイスモードを選択できるdjangoアプリがあります。そのモードはいくつかのページに影響します...それらのページでは、異なるテンプレートを使用します

urls.pyで私はこのようなものを持っています:

mode = Config.objects.get().mode
urlpatterns = patterns('',
    url(r'^my_url/$', 'custom_view', {'template':'my_template.html', 'mode':mode} ),
)

それなら私の見解は次のようなものです:

@render_to()
def custom_view(request, template, mg=False, login=True):
    if mode:
        template = template + 'x' #I add an x to the template name to advice to django I that it should use the mode_2 template.
    return {'TEMPLATE':template}

私の問題は、ユーザーがモード2(カスタム構成ページで)を選択するとき、サーバーが再起動されるまでモードが変更されないことです(Apacheまたはrunserver.pyは同じです)。

これはキャッシュで何かをしなければならないと思いますが、そのキャッシュを消去する方法が見つかりません。 (毎回config.modeが変更されます。)

役に立ちましたか?

解決

urls.pyでモードを取得することは機能しません。 get ファイルが最初にインポートされている場合、1回だけ実行されます。

代わりに、ビュー関数でデータベースの動作を行います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top