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.)

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top