3
テンプレートにはdictが渡され、要素名/キーの一部は@記号で始まります。つまり、 {'@id':123、 '@name' : 'Alex'}キーのdict要素へのアクセスは@
私はこれらの要素にアクセスできますか?
テンプレートにはdictが渡され、要素名/キーの一部は@記号で始まります。つまり、 {'@id':123、 '@name' : 'Alex'}キーのdict要素へのアクセスは@
私はこれらの要素にアクセスできますか?
カスタムテンプレートタグは、特殊文字で辞書キーにアクセスする唯一の方法です。 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]#$%" }}
ありがとうございます。私は正直であると思っていましたが、私はdjangoにはとても新しいので、私が逃した文法であるかどうかは分かりませんでした。私は先に進み、フィルターとして実装されて、かなりきれいに見えます。 あの、フィルターの '{{dict | getkey:" name "}}'ではありませんか? 「{%...%}」ではなく。 –
ああ、もちろん、もちろん。編集DrTyrsaありがとう! –