1. ホーム
  2. パイソン

[解決済み】ユーザーがログインしているかどうかを確認する方法(user.is_authenticatedの適切な使用方法)?

2022-04-15 10:36:53

質問

を見ています。 このサイト が、どうしてもうまくいかないので、どうしたらいいのかわかりません。私は、現在のサイトのユーザーがログインしているかどうか(認証済み)を確認する必要があり、試しています。

request.user.is_authenticated

ユーザがログインしていることを確認しているにもかかわらず、ただ返される。

>

など、(上記urlの最初の部分から)他のリクエストもできるようになりました。

request.user.is_active

で、成功したレスポンスを返します。

解決方法は?

Django 1.10+のためのアップデート :

is_authenticated は、現在では 属性 を Django 1.10 でリリースしました。

このメソッドは Django 2.0 で削除されました。

Django 1.9 以前の場合 :

is_authenticated は関数です。のように呼び出す必要があります。

if request.user.is_authenticated():
    # do something if the user is authenticated

Peter Rowell が指摘したように、デフォルトの Django テンプレート言語では、 関数を呼び出すのに括弧を付けないので、つまずくかもしれません。ですから、テンプレートコードでこのようなものを見たことがあるかもしれません。

{% if user.is_authenticated %}

しかし、Pythonのコードでは、確かにメソッドとして User クラスがあります。