【Django】ユーザーがAnonymousUser(ログインしていない)場合に処理を分岐させる方法

よく使うのでメモ。とっても簡単。

views.py または models.py

view.pyやmodels.pyで処理を分けたい場合は以下の通り。

if request.user.is_anonymous:
  print('ログインしてない!')
else :
  print('ログインしてるよ!')

メモ:クラスベース汎用ビューで関数の引数にrequestを含めていない場合はrequestをself.requestにすること

テンプレート

テンプレートで処理を分けたい場合は以下の通り。

{% if user.is_anonymous %}
  {# ログインしてない! #}
{% else %}
  {# ログインしてるよ! #}
{% endif %}

参考

How do I check whether this user is anonymous or actually a user on my system? – Stack Overflow

よかったらシェアしてね!
  • URLをコピーしました!