刚刚学习 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 %}
显然我缺少一些东西。可能是非常简单的事情。我哪里错了?