Jak umieścić klamry w szablonach django?
Muszę utworzyć identyfikator otoczony nawiasami klamrowymi (na przykład „{1234}”). Z językiem szablonów django, nawiasy klamrowe są również używane do rozpoczęcia podstawiania zmiennych, więc mam problemy z uzyskaniem tego, co chcę. próbowałem
{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }
Żadna z tych metod nie działa, z wyjątkiem ostatniej, która niestety wytwarza „{1234}”, a nie to, co chcę. Obecnie mam dwa rozwiązania: albo przekazuję zmienną id już zawierającą {} (brzydka) albo piszę niestandardowy filtr, a następnie piszę {{id | add_braces}} (wolę to).
Zanim pójdę tą drogą, wolę zapytać, czy istnieje lepsze rozwiązanie.
Używanie wartości wymazanych nie działa. Nawet jeśli dodam {% autoescape off%}% 7B {% endautoescape%}, nie dostaję {co jest dziwne, ale to inny problem.
Dzięki
Edytować: Napisałem szybki filtr. Wklejenie go tutaj, aby ktoś inny mógł go użyć jako szablonu do napisania bardziej złożonego. Do umieszczenia w pakiecie python ścieżka_aplikacji / 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+"}"