1. ホーム
  2. django

[解決済み] Django で現在ログインしているユーザのユーザ ID を取得する方法は?

2022-04-26 09:19:37

質問

現在ログインしているユーザーの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 を与えることになります。 User オブジェクトは、現在ログインしているユーザーを表します。もしユーザーが現在ログインしていない場合は request.user のインスタンスが設定されます。 AnonymousUser . これらを見分けるには、フィールド is_authenticated というように。

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