Question

J'ai une application Django où les utilisateurs peuvent choisir entre 2 modes d'interface, ce mode affecter certaines pages ... pour les pages que j'utilise différents modèles

En urls.py j'ai quelque chose comme ceci:

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

Alors moi est quelque chose comme ceci:

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

Mon problème est lorsque le mode de l'utilisateur 2 (dans ma page Configuration personnalisée), le mode ne change pas jusqu'à ce que le serveur est redémarré (soit apache ou runserver.py est le même).

Je pense que cela doit faire quelque chose avec le cache, mais je ne peux pas trouver comment effacer ce cache. (Chaque Config.mode de temps est modifié.)

Était-ce utile?

La solution

Mise en mode urls.py ne va pas au travail. Le get ne sera exécutée une fois, lorsque le fichier est d'abord importé.

faire le travail de base de données dans la fonction de vue, à la place.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top