ここでは,トップページにユーザ認証の状態を表示する機能を追加しよう.つまり,ログイン中であるかどうかを確認し,ログインしていなければログインを促し,ログイン中であればログイン中のユーザ名を表示するようにしてみよう.
ログイン状態は user.is_authenticated
で確認できるので,HTML 内にその処理を記述すると良い.また,ユーザ名は user.username
で取得できます.
comments/templates/index.html
{% extends "base.html" %}
{% block title %}
コメント投稿アプリケーション
{% endblock %}
{% block content %}
<h1 class="my-5">コメント投稿アプリケーション</h1>
{% if user.is_authenticated %}
<p>
ようこそ {{ user.username }} さん.ログイン中です.
</p>
<p>
<a href="{% url 'comments:index' %}">
コメント一覧ページに移動します.
</a>
</p>
{% else %}
<p>
ログインしていません.
<a href="{% url 'comments:index' %}">
ここからログイン
</a>してください
</p>
{% endif %}
{% endblock content %}
ログイン前の状態では次のようなページが表示されます.
ログイン後にトップページを表示すると次のようなコンテンツが表示されます.