User モデル - Django

ユーザーの種類

User モデルには、次の3つの種類があります。

  • スーパーユーザー
  • スタッフユーザー
  • アクティブユーザー

スーパーユーザーには、すべての権限が与えられます。

スタッフユーザーには、管理画面にログインすることができ、自分のパスワードなどを変更できます。

アクティブユーザーは、無効にすることでアカウントを削除せず、利用停止にできます。

ユーザーの情報にアクセスする

ログインで認証されたユーザーの情報は、以下の属性名で取得できます。

属性 内容
id ユーザーID
username ユーザー名
password パスワード(ハッシュ値)
is_active アクティブユーザー(True or False)
is_staff スタッフユーザー(True or False)
is_superuser スーパーユーザー(True or False)
first_name 名字
last_name 名前
email メールアドレス
last_login 最終ログイン時間
data_joined 登録日

ビュー内で呼び出すには次のようにします。

def index(request):
  print(request.user.username)
  return render(request, 'hello/index.html')

ログインの判定

テンプレートでログインしているかどうかの判定は次のようにします。

templates

{% if user.is_authenticated %}
<!-- ログインしていた場合に表示する内容 -->
{% endif %}