我正在使用 Django 开发一个字典应用程序。该应用程序的主要主题之一是显示定义的提要。
具体来说,我有:
- 列出新定义的“索引”提要,
- 列出特定词条定义的“词条”提要,
- 和一个“标签”提要,其中列出了带有特定标签的定义。
索引.html:
{% block body %}
<h1>Definitions</h1>
<ul>
{% for definition in definitions %}
// definition HTML
{% endfor %}
</ul>
{% endblock %}
标题.html:
{% block body %}
<h1>{{ headword }}</h1>
<ul>
{% for definition in headword.definitions_headword.all %}
// definition HTML
{% endfor %}
</ul>
标签.html:
{% block body %}
<h1>{{ tag }}</h1>
<ul>
{% for definition in tag.definitions_tag.all %}
// definition HTML
{% endfor %}
</ul>
显然,我需要这三个文件可以共享的基本feed.html模板。对于h1
标签没问题。但是,我遇到了 for 循环可迭代变量的问题。
我尝试在feed.html的{% block iterable %}{% endblock %}
for 循环中嵌套 a ,然后将定义、headword.definitions_headword.all 和 tag.definitions_tag.all 插入,但 Django 似乎不支持。{% for definition in {% block iterable %}{% endblock %} %}
{% block iterable %}
我可能可以将“定义”上下文变量传递给所有三个模板,并将其用作所有三个 for 循环中的可迭代对象,但是有没有办法在不接触 Python 代码的情况下做到这一点?