Django WebアプリケーションのHTMLの中で、if文が正しく判定されない
Q&A
Closed
解決したいこと
エラーにはならないのですが
HTML内のif文が期待した動きをしてくれません
発生している問題・エラー
データのユーザとアクセスしているユーザが同じだったら
編集ボタンを出す処理をしたいのですが
{% if request.user == deta.author %}
<a href="{% url 'edit' id=data.id %}" class="button">編集</a>
{% endif %}
とすると、
ユーザーが等しくても異なっていてもすべて
編集ボタンが出ない状況です。
デバッグコーディングを入れて
request.user と deta.authorを
表示させていますが
request.user = deta.author
の場合でも編集ボタンが出ません。
画像の赤い矢印のところです
該当するソースコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>DETAIL</title>
{% load static %}
<link rel="stylesheet" type="text/css"
href="{% static 'triplog/style.css' %}">
</head>
<body>
<h1>{{ title }}</h1>
<h2>【 {{ data.title}} 】</h2>
<p>{{ data.content }}</p>
<div class="map">
<p>{{ map | safe }}</p>
</div>
{{ request.user }} {{ data.author }}
{% if request.user == deta.author %}
<a href="{% url 'edit' id=data.id %}" class="button">編集</a>
{% endif %}
<p><a href="{% url 'index' %}">一覧画面に戻る</a></p>
</body>
</html>
自分で試したこと
比較したい request.user と deta.authorに
改行文字や空白があるのかもしれないと思い
{% if request.user == deta.author %}
↓
{% if strip.request.user == strip.deta.author %}
のようにstrip.を入れてみましたが今度は
ユーザーが等しくても異なっていてもすべて
編集ボタンが出るようになってしまいました。
{% if strip.request.user == strip.deta.author %}
<a href="{% url 'edit' id=data.id %}" class="button">編集</a>
{% endif %}