Django を学習しているだけで、テンプレートにレイアウトがある場合はそれらを一覧表示する状況を作成しようとしていますが、そうでない場合は表示されず、代わりに何もないと表示されます。
レイアウトのないテンプレートで「for layout...」ステートメントのみを使用すると、エラー メッセージが表示されました。
最初に「if」ステートメントを作成してページにレイアウトがあるかどうかを確認し、そうでない場合は「else」ステートメントを作成してレイアウトがないことを確認しました。
ただし、最終的な結果として、「for」は完全に無視されているように見え、「else」条件はすべてのページに適用されます (レイアウトが関連付けられているかどうかに関係なく)。
コード:
{% block header %}
<h1>The name of this template? It's {{ boilerplate.name }}.</h1>
{% endblock %}
{% block content %}
<p> </p>
<p>{{ boilerplate.content }}</p>
{% if layout in boilerplate.layouts %}
{% for layout in boilerplate.layouts.all %}
<p><a href="{{ layout.file.url }}">{{ layout.user }} -- {{ layout.name }} ({{ layout.file.size }})</a>
{% endfor %}
{% else %}
<p>There are no layouts for this template.</p>
{% endif %}
{% endblock %}
明らかに何かが欠けています。おそらく非常に単純なものです。私は何を間違っていますか?