2010-10-26 4 views
0

Je souhaite modifier une partie de mon menu de navigation de base en fonction d'un indicateur du modèle utilisateur, sans avoir à inclure request.user dans chaque fonction de vue de mon code. Le menu nav fait partie du modèle de base que tous les autres modèles étendent.Modification du modèle de base basé sur request.user dans Django

Y at-il un moyen simple de le faire (si oui, je crains à la recherche)? Sinon, existe-t-il une solution de contournement standard?

Répondre

1

Si je vous comprends bien:

{% if request.user.flag %} 
    {% include "nav1.html" %} 
{% else %} 
    {% include "nav2.html" %} 
{% endif %} 
+0

Ah - demande est disponible dans tous les modèles automatiquement? Eh bien, cela simplifie certainement les choses - merci. Rend ma question un peu bête, cependant ... – rfrankel

+0

En fait, ça n'arrive pas automatiquement. Vous devez toujours utiliser RequestContext et ajouter le processeur de contexte de demande: http://docs.djangoproject.com/en/dev/ref/templates/api/#django-core-context-processors-request – Dor

Questions connexes