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

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • TantalizingTrance

    TantalizingT

    15 ŞUBAT 2009
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006