Django 템플릿에서 사전 값에 액세스하는 것은 {{ mydict.key1 }} 또는 {{ mydict.key2 } 구문을 사용하여 간단합니다. }. 그러나 루프 변수를 사전 키로 처리하는 경우 기존 접근 방식은 실패합니다.
다음 시나리오를 고려하십시오.
mydict = {"key1":"value1", "key2":"value2"} {% for item in list %} {{ mydict.item.NAME }} # This fails {% endfor %}
위 코드에서 item.NAME은 다음과 같은 루프 변수 역할을 합니다. 속성 NAME. 그러나 mydict.item.NAME은 원하는 결과를 제공하지 않습니다.
이 문제를 극복하기 위해 사용자 정의 템플릿 필터를 생성할 수 있습니다.
from django.template.defaulttags import register ... @register.filter def get_item(dictionary, key): return dictionary.get(key)
get_item 필터는 .get을 사용합니다. () 메소드는 지정된 키와 연관된 값을 검색합니다. 이렇게 하면 키가 없으면 KeyError를 발생시키는 대신 None을 반환합니다.
필터를 사용하려면 다음과 같이 템플릿 코드를 수정하세요.
{{ mydict|get_item:item.NAME }}
위 내용은 Django 템플릿에서 루프 변수를 키로 사용하여 사전 값에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!