0

私はユーザーが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が変更されるたびに。)

4

1 に答える 1

3

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

代わりに、データベースはビュー機能で機能しますか。

于 2010-09-20T06:38:45.310 に答える