python - Django 相当于 mako 的可调用 block

标签 python django django-templates mako

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

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

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

Django 有类似的东西吗?

最佳答案

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

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

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

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

关于python - Django 相当于 mako 的可调用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981054/

相关文章:

python - 对行和下一行执行某些操作,直到击中符号为止

Python正则表达式多次匹配字符

python - django注释和过滤

python - 使用 Django 预加载 html 电子邮件模板的智能方法

javascript - 表单向导不会移至 jquery 对话框中的下一个屏幕

html - django 中的几页中的 base.html 中的图像未显示

android - 如何使用 Python 将 Android 发送的图像存储在 Google Cloud Storage 上

django - 格式化时间字段

python - 找不到 Django 模板

Python/Libtorrent : Retrieve metadata from a magnet link without downloading files