gpt4 book ai didi

django - 如何在 Django 模板中放置大括号?

转载 作者:行者123 更新时间:2023-12-03 11:36:48 25 4
gpt4 key购买 nike

我需要生成一个用大括号括起来的 id(例如 "{1234}")。使用django模板语言,大括号也用于启动变量替换,所以我在获取我想要的东西时遇到了一些麻烦。我试过

{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }

这些方法都不起作用,除了最后一个,不幸的是产生“{1234}”,不是我想要的。我目前有两种解决方案:要么传递一个已经包含 {}(丑陋)的 id 变量,要么我编写一个自定义过滤器,然后编写 {{ id|add_braces }} (我更喜欢它)。

在走这条路之前,我更愿意询问是否存在更好的解决方案。

使用转义值不起作用。即使我添加 {% autoescape off %}%7B{% endautoescape %} 我也没有得到 {,这很奇怪,但这是另一个问题。

谢谢

编辑 : 我写了一个快速过滤器。将其粘贴在这里,以便其他人可以将其用作编写更复杂模板的模板。放入 python 包 application_path/templatetags/formatting.py
from django import template
from django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter
@stringfilter
def add_braces(value):
return "{"+value+"}"

最佳答案

我想你的答案可以在这里找到:

http://docs.djangoproject.com/en/dev/ref/templates/builtins/#templatetag

总之,你要使用{% templatetag openbrace %}{% templatetag closebrace %} .

编辑:
Django 现在还包含此功能:

{% verbatim %} {{ blah blah }} {% endverbatim %}

关于django - 如何在 Django 模板中放置大括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1659492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com