2010-05-30 31 views
1

我有一個Python中的字典被分配爲模板變量。其中一個密鑰被命名爲「#text」,但是當我嘗試使用訪問它{{artist.image.3。「#文本」}}我得到一個錯誤,這是Django如何處理變量名#

 
    File "/home/jack/Desktop/test/appengine/lib/django/django/template/__init__.py", line 558, in __init__ 
    raise TemplateSyntaxError, "Could not parse the remainder: %s" % token[upto:] 
TemplateSyntaxError: Could not parse the remainder: "#text" 

那麼,如何使用這在模板中?我試圖把報價放在它周圍,但無濟於事。如果可能的話,我不想修改字典,但是如果它足夠簡單,那麼我猜它可以。

感謝

回答

0

的Django除了這些變量是合適的名字,你有兩個選擇

  1. 如果可能的話只是改變#text文本或類似的東西
  2. 別人編寫模板過濾器節選關鍵名稱和返回值

eg

@register.filter 
def get_key(d, key): 
    return d[key] 

用法:

{{ my_dict|get_key:'#text' }} 

http://docs.djangoproject.com/en/dev/howto/custom-template-tags/來看看如何編寫和使用模板過濾器和標籤。