2010-05-21 9 views
2

J'ai un site sur lequel j'inclus une userBox avec des données pour chaque utilisateur connecté (votre nom, avatar, etc.). De ce que je sais déjà sur django il semble évident, que je devrais ajouter une requête pour l'utilisateur au processeur de contexte (de sorte que je peux utiliser la variable {{user}} dans ce userBox inclus). Mais en utilisant la boutique django-lfs, j'ai remarqué que ses templates utilisent la variable {{ user }} qui n'est nulle part ajoutée aux processeurs de contexte ni aux balises de template. Y at-il un autre moyen d'obtenir l'utilisateur dans mon modèle que ceux 2?Quand utiliser le processeur de contexte

+1

connexes: http://stackoverflow.com/questions/41547/always-including-the-user-in-the-django-template-context – miku

+0

Je suppose que c'est à ce sujet :) – sasquatch90

Répondre

2

Il est ajouté par

django.contrib.auth.context_processors.auth 

Et la réponse à la question est: si vous avez besoin d'être dans chaque modèle, vous devez utiliser context_processor.

+0

ok mais utilisera {{user}} du processeur de contexte d'autorisation me permettre d'inclure l'avatar de l'utilisateur ou puis-je vérifier seulement certains paramètres de base comme .is_authenticated etc? – sasquatch90

+0

pour avatar vous avez probablement un modèle de profil non? utilisez http://docs.djangoproject.com/fr/dev/topics/auth/#django.contrib.auth.models.User.get_profile pour l'obtenir. Vous pouvez également écrire votre propre processeur, ce qui mettra le profil en contexte –