Comment obtenir l'identifiant de l'utilisateur actuellement connecté?
dans models.py
:
class Game(models.model):
name = models.CharField(max_length=255)
owner = models.ForeignKey(User, related_name='game_user', verbose_name='Owner')
dans views.py
:
gta = Game.objects.create(name="gta", owner=?)
Tout d’abord, assurez-vous d’avoir ajouté les middlewares SessionMiddleware
et AuthenticationMiddleware
à votre paramètre MIDDLEWARE_CLASSES
.
Le user
actuel est dans l'objet request
, vous pouvez l'obtenir par:
def sample_view(request):
current_user = request.user
print current_user.id
request.user
vous donnera un objet User
représentant l'utilisateur actuellement connecté. Si aucun utilisateur n'est actuellement connecté, request.user
sera défini sur une instance de AnonymousUser
. Vous pouvez les distinguer avec le champ is_authenticated
, comme suit:
if request.user.is_authenticated:
# Do something for authenticated users.
else:
# Do something for anonymous users.
Vous pouvez accéder à l'utilisateur actuellement connecté en utilisant le code suivant:
request.user.id
En supposant que vous vous référiez à Django Auth User , à votre avis:
def game(request):
user = request.user
gta = Game.objects.create(name="gta", owner=user)