我需要生成一個由大括號包圍的ID(例如「{1234}」)。使用django模板語言,大括號也用於啓動變量替換,因此在獲取我想要的內容時遇到了一些麻煩。我試圖如何在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+"}"
謝謝!無論如何,我寫了一個過濾器。添加它,如果有人想用它作爲一個小的過濾器的例子... – 2009-11-02 05:30:44