1

是否有与 Mako 的可调用块等效的 Django?

在 Mako 中,如果我想重用某个特定的 HTML,我可以将它放在一个“可调用块”中,该块可以从模板中的多个位置调用。

<%def name="makerow(row)">
    <tr>
    % for name in row:
        <td>${name}</td>\
    % endfor
    </tr>
</%def>

Django有类似的东西吗?

4

1 回答 1

4

在 Django 中,您可以包含其他 HTML 模板来完成此操作:

{% include "main/includes/subtemplate.html" %}

您可以在包含的模板中访问与包含它的父模板中相同的变量。这允许您在模板中的多个位置重用 HTML。

另一种方法是创建自定义模板标签:https ://docs.djangoproject.com/en/dev/howto/custom-template-tags/这允许您创建自己的标签来生成 HTML 输出。Django 文档提供了有关如何执行此操作的各种示例。

于 2012-06-11T13:31:00.330 回答