Obtenir des informations de l'utilisateur dans les modèles django
Quelle est la meilleure façon d'obtenir des informations de l'utilisateur à partir d'un modèle django?
Par exemple, si je veux juste:
- Si l'utilisateur est connecté, l'écran de "Bienvenue à [nom d'utilisateur]"
- Sinon, afficher le bouton de connexion.
Je suis en utilisant django-inscription/authentification
- Double Possible de Comment accéder au profil de l'utilisateur dans un Django template?
Vous devez vous connecter pour publier un commentaire.
Une autre méthode pour le courant de Django versions:
Remarque:
request.user.get_username()
dans les vues &user.get_username
dans les modèles. La préférence sur se référantusername
attribut directement. Sourcedjango.contrib.auth.context_processors.auth
est activé par défaut & contient la variable utilisateurdjango.core.context_processors.request
modèle de contexte processeur.Source : https://docs.djangoproject.com/en/dev/topics/auth/default/#authentication-data-in-templates
et assurez-vous que vous avez la
request
modèle de contexte processeur installé dans votresettings.py
:Que par la question du titre, celui-ci peut être utile à quelqu'un. utilisé les éléments suivants dans mon template:
Nom d'utilisateur:
{{ user.username }}
Nom Complet de l'utilisateur:
{{ user.get_full_name }}
Groupe D'Utilisateurs:
{{ user.groups.all.0 }}
E-mail:
{{ user.email }}
Session a Commencé à:
{{ user.last_login }}
Merci 🙂
Tout d'abord, tout d'Abord, si vos champs ont changé leur nom, vous devez remplacer les fonctions (get_full_name(), get_short_name(), etc), de cette façon:
Dans le modèle, vous pouvez le montrer de cette façon
ce sont les méthodes d'authentification https://docs.djangoproject.com/es/2.1/topics/auth/customizing/