Подтвердить что ты не робот

Как получить зарегистрированный пользовательский идентификатор пользователя в 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=?)
4b9b3361

Ответ 1

Сначала убедитесь, что у вас есть SessionMiddleware и AuthenticationMiddleware промежуточное программное добавленные в 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.

Ответ 2

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

request.user.id

Ответ 3

Предполагая, что вы ссылаетесь на Django Auth User, на ваш взгляд:

def game(request):
  user = request.user

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