0

我有一个 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。)

4

1 回答 1

3

在 urls.py 中获取模式是行不通的。get仅在首次导入文件时执行一次。

相反,数据库是否在视图函数中工作。

于 2010-09-20T06:38:45.310 回答