我有一个django应用程序,用户可以在2个接口模式之间进行选择,该模式会影响某些页面...对于这些页面,我使用不同的模板

在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 首先导入文件时,仅执行一次。

在视图函数中进行数据库工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top