SORU
3 Kasım 2011, PERŞEMBE


Django bir değişken ile sözlük bir değer arama için nasıl şablon

mydict = {"key1":"value1", "key2":"value2"}

Django şablon sözlüğünde değeri arama normal yoldan {{ mydict.key1 }}, {{ mydict.key2 }}. Eğer anahtar bir döngü değişkeni ise? yani:

{% for item in list %} # where item has an attribute NAME
  {{ mydict.item.NAME }} # I want to do dict lookup mydict[item.NAME]
{% endfor %}

mydict.item.NAME başarısız. Bunu nasıl düzeltebilirim?

CEVAP
3 Kasım 2011, PERŞEMBE


Özel şablon bir filtre yazmak:

from django.template.defaulttags import register
...
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

(Eğer anahtarı yoksa, yok döndürdüğü .get kullanıyorum. Eğer dictionary[key] eğer KeyError sonra çıkacak.)

kullanımı:

{{ mydict|get_item:item.NAME }}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bunliu

    bunliu

    2 Mayıs 2007
  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Major FX

    Major FX

    6 HAZİRAN 2012