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