次の辞書をレンダー関数に渡します。ソースは文字列のリストであり、タイトルはソースの文字列の1つと潜在的に等しい文字列です。
{'title':title, 'sources':sources})
HTMLテンプレートでは、次の行の中で何かを達成したいと思います。
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
{% if title == {{ source }} %}
Just now!
{% endif %}
</td>
</tr>
{% endfor %}
ただし、次のテキストブロックはエラーになります。
TemplateSyntaxError at /admin/start/
Could not parse the remainder: '{{' from '{{'
... with {% if title == {{ source }} %}
赤で強調表示されています。
if
またはifequal
ステートメント内で二重括弧{{ }}
構文を使用しないでください。通常のpythonの場合と同じように、そこで変数に簡単にアクセスできます。
{% if title == source %}
...
{% endif %}
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
{% ifequal title source %}
Just now!
{% endifequal %}
</td>
</tr>
{% endfor %}
or
{% for source in sources %}
<tr>
<td>{{ source }}</td>
<td>
{% if title == source %}
Just now!
{% endif %}
</td>
</tr>
{% endfor %}
Django Doc を参照
古い投稿のコメントで申し訳ありませんが、else ifステートメントを使用したい場合、これはあなたを助けます
{% if title == source %}
Do This
{% Elif title == value %}
Do This
{% else %}
Do This
{% endif %}
詳細については Django Documentation をご覧ください
あなたtryこれ。
私はすでにDjangoテンプレートで試しました。
それは正常に動作します。中かっこペア{{と}}を{{source}}。
また、<table>タグとthats。
変更後、codeは次のようになります。
{% for source in sources %}
<table>
<tr>
<td>{{ source }}</td>
<td>
{% if title == source %}
Just now!
{% endif %}
</td>
</tr>
</table>
{% endfor %}
私の辞書は以下のように見えますが、
{'title':"Rishikesh", 'sources':["Hemkesh", "Malinikesh", "Rishikesh", "Sandeep", "Darshan", "Veeru", "Shwetabh"]}
および[〜#〜] output [〜#〜]は、templateがレンダリングされると、次のようになりました。
Hemkesh
Malinikesh
Rishikesh Just now!
Sandeep
Darshan
Veeru
Shwetabh