如何在Django中获取当前login用户的用户ID?

如何获取当前login的用户的ID?

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=?) 

首先确保将SessionMiddlewareAuthenticationMiddleware中间件添加到MIDDLEWARE_CLASSES设置中。

当前userrequest对象中,可以通过以下方式获取:

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

request.user将为您提供一个代表当前loginUser对象。 如果用户当前没有login, request.user将被设置为AnonymousUser一个实例。 你可以用is_authenticated()来区分它们,就像这样:

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

您可以通过使用以下代码访问当前login的用户:

 request.user.id 

假设你指的是Django的Auth用户 ,在你的视图中:

 def game(request): user = request.user gta = Game.objects.create(name="gta", owner=user)