【问题标题】:How do you escape tags in django templates?你如何在 django 模板中转义标签?
【发布时间】:2011-08-24 12:41:06
【问题描述】:

据我所知,如果我放了

{{ var_name }}

在 django 模板中,它会被解析为一个变量。如果我想在 HTML 文件中显示字符串“{{ var_name }}”(不是 {{ var_name }}),我应该写什么?

我不太清楚如何描述这个问题,所以我不知道在谷歌中搜索什么关键词。谢谢。

【问题讨论】:

  • 如果我正确理解了您的问题,您可以尝试使用字符串"\{\{ var_name \}\}"。你基本上逃脱了 {{ 和 }}。
  • @arunkumar:除非 Django 的文档不同步,否则模板系统目前没有转义的概念。详情请参阅我的回答。

标签: python django django-templates


【解决方案1】:

如果我理解正确,您希望输出包含文字大括号的文本。

这是使用templatetag 模板标签完成的。

例如,在你的情况下,你会想把:

{% templatetag openvariable %} var_name {% templatetag closevariable %}

【讨论】:

  • 谢谢。这就是我需要的。
【解决方案2】:

你想做的事情叫做转义

您可以像这样替换括号:

{ 而不是{

} 而不是}

因此,在您的 HTML 代码中, {{ var_name }} 将输出 {{ var_name }}.

还有无聊的方式:templatetag tag

【讨论】:

  • 是因为它显示了设计者的意图而无聊,还是因为您不必查找 HTML 转义码而无聊?还是因为它很健壮而无聊?
  • 这很无聊,因为这是人们在搜索答案时得到的第一件事。也因为它在更窄的范围内解决了问题,即仅适用于 Django。
【解决方案3】:

如果您想使用var_name 作为(例如)属性的值,您必须使用括号。例如:

{% for key, value in somedict %}
    <input type="hidden" name="{{ key }}" value="{{value}}" />
{% endfor %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 2010-09-20
    • 2018-02-17
    • 2022-11-25
    • 2010-12-13
    • 2011-03-26
    • 2014-03-20
    相关资源
    最近更新 更多