salut
J'ai un problème avec le système de modèles Django. Lorsque je souhaite vérifier le modèle si un utilisateur est connecté avec: Je ne sais pas dans la partie de réussite. Lorsque j'utilise dans une vue: p> Cela me montre correctement la partie d'autre.
J'espère que quelqu'un peut m'aider.
Merci Phil p> p>
5 Réponses :
Avez-vous passé votre instance "utilisateur" à partir de la vue sur le modèle? Vous devez vous assurer qu'il est dans le même contexte que vous passez dans le rendu_to_reesponse () ou la méthode de rendu de rendu que vous choisissez pour rendant le contexte de la vue dans le modèle. P>
Vous devez vous assurer que vous laissez «demande.user» dans le rendu. Ou mieux utiliser le rendu de contexte basé sur le contexte: Le contexte_instance utilisera le processeur de contexte de middleware authentifiant pour définir "l'utilisateur" à votre vue. P> p>
Il existe un exemple de manipulation du contexte dans Partie 4 du tutoriel de Django. Toutefois, En bref ...
Le meilleur moyen de faire est avec le procédeur de contexte d'authentification de Django. Assurez-vous que vous l'avez toujours dans Vos paramètres . Vous devez ensuite utiliser DemandeContext P>
Cela changera essentiellement votre code à ceci. P>
from django.template import RequestContext
# ...
return render_to_response('index.html', {
'inhalt': 'Succesfully loged in'
}, RequestContext(request))
Dans votre python, vous récupérez l'objet utilisateur qui est connecté. I.e Définir une fonction get_current_user.
Votre réponse ressemblerait à quelque chose comme: p> puis sur votre modèle Django, vous pouvez simplement aller comme: p>
+1 Le {{utilisateur}}} code> est disponible par défaut, contrairement à la variable {{request.user}} code> variable. Pour ce dernier, vous devez activer django.core.context_processors.request code>. Je trouve cela mieux pour les versions de Django actuelles Bien que Stackoverflow.com/a/5301918/781695 est également correct.
N'oubliez pas d'ajouter Exemple: P> # import
from django.template import RequestContext
# render
if not request.user.is_authenticated():
return render_to_response('index.html', {'inhalt': 'Not loggged in'})
else:
return render_to_response('index.html', {'inhalt': 'Succesfully logged in'}, RequestContext(request))