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

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

views.py または models.py

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

[code lang=”py”]
if request.user.is_anonymous:
print(‘ログインしてない!’)
else :
print(‘ログインしてるよ!’)
[/code]

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

テンプレート

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

[code lang=”html”]
{% if user.is_anonymous %}
{# ログインしてない! #}
{% else %}
{# ログインしてるよ! #}
{% endif %}
[/code]

参考

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

よかったらシェアしてね!
  • URL Copied!