>백엔드 개발 >파이썬 튜토리얼 >Django 템플릿의 동적 키를 사용하여 사전 값에 액세스하는 방법은 무엇입니까?

Django 템플릿의 동적 키를 사용하여 사전 값에 액세스하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-09 07:07:06610검색

How to Access Dictionary Values with Dynamic Keys in Django Templates?

Django 템플릿의 동적 키를 사용하여 사전 값에 액세스

Django 템플릿은 사전을 사용하여 작업하는 편리한 방법을 제공하므로 개발자는 다음을 사용하여 값에 액세스할 수 있습니다. 점 표기법(예: {{ mydict.key1}}) 그러나 키가 제공된 예에서 item.NAME과 같은 루프 변수인 경우 사전 값에 직접 액세스하는 것이 문제가 됩니다.

해결책: 사용자 정의 템플릿 필터 활용

이 문제를 극복하기 위해 Django는 템플릿 시스템의 기능을 확장하는 사용자 정의 템플릿 필터를 정의하는 기능을 제공합니다. 다음은 변수 키를 사용하여 사전 값을 조회할 수 있는 필터입니다.

# import the necessary modules
from django.template.defaulttags import register

# define the custom template filter
@register.filter
def get_item(dictionary, key):
    return dictionary.get(key)

get_item 필터는 get 메소드를 사용하여 주어진 사전에서 제공된 키에 해당하는 값을 검색합니다. 키가 사전에서 발견되지 않으면 get_item은 KeyError를 발생시키는 대신 None을 반환합니다.

템플릿에서의 사용

사용자 정의 필터를 사용하려면 아래와 같이 사전과 그에 대한 변수 키를 지정합니다.

{{ mydict|get_item:item.NAME }}

이 예에서 mydict는 다음을 포함하는 사전입니다. 키-값 쌍이며 item.NAME은 변수 키입니다. get_item 필터는 item.NAME 키를 사용하여 mydict의 값을 조회하고 해당 값을 반환합니다.

위 내용은 Django 템플릿의 동적 키를 사용하여 사전 값에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.