テンプレートキャッシュを消去します
-
04-10-2019 - |
質問
ユーザーが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回だけ実行されます。
代わりに、ビュー関数でデータベースの動作を行います。
所属していません StackOverflow