ここでは,リレーションシップを辿ってコメントの詳細表示ページに投稿者のユーザ名とメールアドレスを表示する機能を追加しよう.Django では非常に簡単にリレーションシップをたどることができます.
comments/templates/comments/show.html
{% block content %}
<h1 class="my-5">コメント {{ comment.id }}</h1>
<div class="card mb-3">
<div class="card-header">
ID : {{ comment.id }}
</div>
<div class="card-body">
<p class="card-text">Title : </p>
<h5 class="card-title">{{ comment.title }}</h5>
<p class="card-text">Body : </p>
<p class="card-text">{{ comment.body }}</p>
</div>
<div class="card-footer">
Owner ID : {{ comment.owner_id }}<br>
Owner UserName : {{ comment.owner }}<br>
Owner E-mail : {{ comment.owner.email }}<br>
Created at : {{ comment.created_at }}<br>
Updated at : {{ comment.updated_at }}
</div>
</div>
僅かなコードを追加するだけでユーザ名やメールアドレスの表示ができるようになりました.
(py39) C:\Users\lecture\Documents\django\django_comment_auth>python manage.py runserver ⏎
Watching for file changes with StatReloader
Performing system checks...
次のページでは,コメントの投稿者とログイン中のユーザが一致するかどうかを判断して,上の画面での「編集」や「削除」のリンクの有効/無効を切り替えよう.