전통적으로 Django 템플릿에서는 {{ mydict.key1 }} 구문을 사용하여 사전 값에 액세스할 수 있습니다. 그러나 키가 동적 루프 변수인 경우 문제가 발생합니다. {{ mydict.item.NAME }}과 같은 루프 변수의 속성은 템플릿 내에서 직접 액세스할 수 없습니다.
이 문제를 해결하기 위해 Django는 다음을 제공합니다. 사용자 정의 템플릿 필터를 정의하는 메커니즘입니다. 이러한 필터를 사용하면 템플릿 구문을 확장하는 특수 함수를 만들 수 있습니다. 이 경우 변수 키를 기반으로 사전에서 값을 검색하는 get_item이라는 필터를 생성합니다.
from django.template.defaulttags import register @register.filter def get_item(dictionary, key): return dictionary.get(key)
.get()을 사용하여 키 누락 가능성을 적절하게 처리합니다. , KeyError를 발생시키는 대신 None을 반환합니다.
사용자 정의 get_item 필터를 사용하려면 Django 템플릿에 다음 구문을 포함합니다.
{{ mydict|get_item:item.NAME }}
이 구문을 사용하면 동적 루프 변수 item.NAME을 기반으로 mydict 값을 검색할 수 있습니다. 결과는 사실상 mydict[item.NAME]입니다.
사용자 정의 Django 템플릿 필터를 생성함으로써 변수 키를 사용하여 사전 값에 액세스할 수 있는 유연성을 확보할 수 있습니다. 이를 통해 Django 템플릿 내에서 데이터 구조로 작업할 때 더욱 동적이고 강력한 템플릿 논리가 가능해집니다.
위 내용은 Django 템플릿의 변수 키를 사용하여 사전 값에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!