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

  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013