如何在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=?)
首先确保将SessionMiddleware
和AuthenticationMiddleware
中间件添加到MIDDLEWARE_CLASSES
设置中。
当前user
在request
对象中,可以通过以下方式获取:
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)