Вопрос

У меня есть приложение 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