中かっこで囲まれた ID を生成する必要があります (例: "{1234}" )。django テンプレート言語では変数置換の開始にも中括弧が使用されるため、目的のものが得られないことがあります。私は試した
{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }
残念ながら、私が望むものではなく、「{1234}」を生成する最後の方法を除いて、これらの方法はどれも機能しません。現在、2 つの解決策があります。すでに {} を含む 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+"}"