2

我有一个项目应用程序和一个文件应用程序。在project.html文件中,我想包含file_list.html文件。这样一个项目对应的所有文件都显示在项目页面上。

project.html(项目应用程序)

{% extends "site_base.html" %}
...
{% block body %}
...
<div id="files">
    <p>More here soon but in the meantime, here's a link to the
        <a href="{% groupurl file_list project %}">file list</a>
    </p>
</div>
...
{% endblock body %}

我想直接插入文件列表,而不是此处指向文件列表的链接。

file_list.html(文件应用程序)

{% extends "site_base.html" %}
{% block body %}

{% for file in files %}
<tr>
    <td>{{ file.filename }}</td>
</tr>
{% endfor %}

{% endblock body %}

我想出了以下可能性,但我不确定什么是实际工作和最佳实践

  • 使用 {% include %} 包含 file_list.html。但是我错过了文件的上下文
  • 写一个包含标签
  • 使用 {% block %}
  • 使用模板加载器

在这种情况下,最好的解决方案是什么。还有其他可能吗?

4

1 回答 1

3

包含标签是这里唯一可能的答案,因为其他标签都不会在模板上下文中包含实际的文件列表。这正是包含标签的用途。

于 2013-09-25T20:43:47.203 回答