Как получить идентификатор пользователя, вошедшего в систему пользователя в 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 ответов
сначала убедитесь, что у вас есть 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, на ваш взгляд:
def game(request):
user = request.user
gta = Game.objects.create(name="gta", owner=user)