Как поставить фигурные скобки в шаблоны Django?
Мне нужно создать идентификатор в окружении фигурных скобок (например, "{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+"}"