Ich muss eine ID erzeugen, umgeben von geschweiften Klammern (zum Beispiel "{1234}"). Mit der Django-Vorlagensprache werden geschweifte Klammern auch verwendet, um eine Variablensubstitution zu starten, so dass ich Schwierigkeiten habe, zu erhalten, was ich will. Ich habe versucht,Wie geschweifte Klammern in Django-Vorlagen?
{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }
Keine dieser Methoden arbeiten, mit Ausnahme des letzten, die leider produziert „{1234}“, nicht das, was ich will. Ich habe derzeit zwei Lösungen: Entweder übergebe ich eine ID-Variable, die bereits die {} (hässlich) enthält, oder ich schreibe einen benutzerdefinierten Filter und schreibe dann {{id | add_braces}} (bevorzuge es).
Bevor ich diesen Weg gehe, frage ich lieber, ob es eine bessere Lösung gibt.
Die Verwendung von Escape-Werten funktioniert nicht. Selbst wenn ich {% autoescape off%}% 7B {% endautoescape%} hinzufüge, bekomme ich das {nicht, was seltsam ist, aber das ist ein anderes Problem.
Dank
bearbeitet: Ich habe einen Schnellfilter schrieb. Es hier einfügen, damit jemand anders es als Vorlage für das Schreiben eines komplexeren verwenden kann. Zu setzen in Python-Paket 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+"}"
Danke! auf jeden Fall habe ich einen Filter geschrieben. Fügen Sie es hinzu, wenn jemand es als Beispiel für ein kleines Filter verwenden möchte ... –