Как узнать идентификатор текущего пользователя, вошедшего в систему?
в 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=?)
Ответы:
Сначала убедитесь , что у вас есть
SessionMiddleware
иAuthenticationMiddleware
промежуточные программный добавлены в вашуMIDDLEWARE_CLASSES
настройку.Ток
user
вrequest
объекте, получить его можно:request.user
предоставит вамUser
объект, представляющий вошедшего в систему пользователя. Если пользователь в настоящее время не вошел в систему,request.user
будет установлен экземплярAnonymousUser
. Вы можете отличить их друг от друга с помощью поляis_authenticated
, например:источник
User
модель .Вы можете получить доступ к текущему вошедшему в систему пользователю, используя следующий код:
источник
Предполагая, что вы имеете в виду пользователя аутентификации Django , на ваш взгляд:
источник
Я написал это в представлении ajax, но это более обширный ответ, содержащий список пользователей, вошедших в систему и вышедших из системы.
is_authenticated
Атрибут всегда возвращаетTrue
для моих пользователей, которые я полагаю , как ожидается , так как он только проверяет Анонимные, но это оказывается бесполезным , если бы вы сказали разработать приложение чат , где вы должны авторизованы пользователей отображаются.Это проверяет наличие истекших сеансов, а затем определяет, какому пользователю они принадлежат, на основе декодированного
_auth_user_id
атрибута:источник