ユーザーがログインしているかどうかを確認する方法(user.is_authenticated を適切に使用する方法)? 質問する

ユーザーがログインしているかどうかを確認する方法(user.is_authenticated を適切に使用する方法)? 質問する

私は見ていますこのウェブサイトしかし、うまく動作しないので、これをどうやって行うのかが分からないようです。現在のサイトユーザーがログインしているかどうか (認証されているかどうか) を確認する必要があり、次のことを試しています:

request.user.is_authenticated

ユーザーがログインしていることが確実であるにもかかわらず、次の結果が返されます:

>

次のような他のリクエストも実行できます (上記の URL の最初のセクションから)。

request.user.is_active

成功した応答を返します。

ベストアンサー1

Django 2.0 以降へのアップデート

is_authenticated読み取り専用属性です:

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

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

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

おすすめ記事