Frage

Ich habe eine Django-Applikation, wo Benutzer zwischen 2 Interface-Modus wählen, dass Modus einige Seiten beeinflussen ... für diejenigen Seiten, die ich verschiedene Vorlagen verwenden

In urls.py Ich habe so etwas wie folgt aus:

mode = Config.objects.get().mode
urlpatterns = patterns('',
    url(r'^my_url/$', 'custom_view', {'template':'my_template.html', 'mode':mode} ),
)

Dann ist meine Ansicht ist so etwas wie folgt aus:

@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}

Mein Problem ist, wenn die Benutzer-Modus 2 (in meiner benutzerdefinierten Konfigurationsseite), Modus ändert sich nicht, bis Server neu gestartet wird (entweder Apache oder runserver.py ist gleich).

Ich denke, das etwas mit dem Cache zu tun hat, aber ich kann nicht finden, wie man diesen Cache zu löschen. (Jedes Mal Config.mode geändert wird.)

War es hilfreich?

Lösung

Erste der Modus in urls.py wird nicht an der Arbeit. Die get wird nur einmal durchgeführt werden, wenn die Datei zuerst importiert wird.

Haben Sie die Datenbank Arbeit in der View-Funktion, statt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top