2011-12-26 15 views

答えて

3

カスタムテンプレートタグは、特殊文字で辞書キーにアクセスする唯一の方法です。 this questionの答えが良い例です。怠け者のために

:あなたがそうのように使用することになり

from django import template 
register = template.Library() 

@register.filter 
def dictKeyLookup(the_dict, key): 
    # Try to fetch from the dict, and if it's not found return an empty string. 
    return the_dict.get(key, '') 

{% dictKeyLookup your_dict "@blarg!#$^&*" %} 

宿題として、あなたはまた、あなたの構文を与えるだろう単純なフィルタ、にこれを変換することができように:

{{ your_dict|getkey:"@[email protected]#$%" }} 
+0

ありがとうございます。私は正直であると思っていましたが、私はdjangoにはとても新しいので、私が逃した文法であるかどうかは分かりませんでした。私は先に進み、フィルターとして実装されて、かなりきれいに見えます。 あの、フィルターの '{{dict | getkey:" name "}}'ではありませんか? 「{%...%}」ではなく。 –

+1

ああ、もちろん、もちろん。編集Dr​​Tyrsaありがとう! –

関連する問題