我有一个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时。)
答案 0 :(得分:3)
在urls.py中获取模式不起作用。首次导入文件时,get
只会执行一次。
数据库是否在视图函数中工作。