次に,コメントアプリケーションにログインしたユーザがアプリケーションからそのまま管理サイトへ移動できるように変更します.また,管理者にも students グループにも属さないユーザ (user_a と user_b) には管理サイトの存在を見せないようにも変更します.
まず,ログイン後の Navbar メニューに,is_staff が設定されたユーザのみ管理サイトへのリンクを表示するように設置します.
comments/templetes/base.html
{% if user.is_authenticated %}
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
{{ user.username }}
</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="{% url 'comments:profile' %}">Profile</a></li>
<li><a class="dropdown-item" href="{% url 'password_change_form' %}">パスワード変更</a></li>
<li><a class="dropdown-item" href="#">Another action</a></li>
{% if user.is_staff %}
<li><a class="dropdown-item" href="/admin/">管理サイト</a></li>
{% endif %}
<li><hr class="dropdown-divider"></li>
<li><a class="dropdown-item" href="{% url 'comments:logout' %}">ログアウト</a></li>
</ul>
</li>
</ul>
{% else %}
さらにログイン前のトップページから管理サイトへのリンクを削除します.
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 %}
管理サイトへのログイン権限を持つユーザにだけリンクが表示されることを確認してください.