Domanda

Ho un app Django dove gli utenti possono scegliere tra 2 modalità di interfaccia, che la modalità di influenzare alcune pagine ... per quelle pagine che uso diversi modelli

In urls.py ho qualcosa di simile a questo:

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

Allora il mio punto di vista è qualcosa di simile:

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

Il mio problema è quando l'utente seleziona la modalità 2 (nella mia abitudine pagina di configurazione), la modalità non cambia fino al riavvio del server (Apache o runserver.py è lo stesso).

Credo che questo abbia a che fare qualcosa con cache, ma non riesco a trovare il modo di cancellare quella cache. (Ogni Config.mode volta che viene modificato.)

È stato utile?

Soluzione

Per la modalità in urls.py è non andare a lavorare. Il get verrà eseguito solo una volta, quando il file viene prima importata.

fare il lavoro del database in funzione di visualizzazione, invece.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top