Как получить идентификатор пользователя, зарегистрированного в данный момент в Django?


как получить идентификатор текущего пользователя?

на models.py:

class Game(models.model):
    name = models.CharField(max_length=255)
    owner = models.ForeignKey(User, related_name='game_user', verbose_name='Owner')

на views.py:

gta = Game.objects.create(name="gta", owner=?)
3 74

3 ответа:

сначала убедитесь, что у вас есть SessionMiddleware и AuthenticationMiddleware middlewares добавлены в ваш MIDDLEWARE_CLASSES настройка.

текущего user находится в request объект, вы можете получить его:

def sample_view(request):
    current_user = request.user
    print current_user.id

request.user даст вам User объект, представляющий текущего пользователя. Если пользователь не вошел в систему, request.user будет установлен в экземпляр AnonymousUser. Вы можете отличить их друг от друга с is_authenticated(), например:

if request.user.is_authenticated():
    # Do something for authenticated users.
else:
    # Do something for anonymous users.

вы можете получить доступ к текущему зарегистрированному пользователю с помощью следующего кода:

request.user.id

предполагая, что вы имеете в виду Auth User, на ваш взгляд:

def game(request):
  user = request.user

  gta = Game.objects.create(name="gta", owner=user)