borrado plantilla de caché
-
04-10-2019 - |
Pregunta
Tengo una aplicación Django donde los usuarios pueden seleccionar entre 2 modos de interfaz, que el modo de afectar a algunas páginas ... para aquellas páginas que utilizo diferentes plantillas
En urls.py tengo algo como esto:
mode = Config.objects.get().mode
urlpatterns = patterns('',
url(r'^my_url/$', 'custom_view', {'template':'my_template.html', 'mode':mode} ),
)
A continuación, mi opinión es algo como esto:
@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}
Mi problema es cuando el usuario selecciona el modo 2 (en mi página personalizada de configuración), el modo no cambia hasta que se reinicie el servidor (ya sea Apache o runserver.py es el mismo).
Creo que esto tiene algo que ver con la memoria caché, pero no puedo encontrar la manera de borrar esa memoria caché. (Se cambia cada Config.mode tiempo.)
Solución
Introducción al modo en urls.py no va a trabajar. El get
sólo se ejecuta una vez, cuando el archivo se importó por primera vez.
hacer el trabajo de base de datos en la función de vista, en su lugar.