Django 템플릿에서 변수를 사용하여 사전 값을 조회하는 방법
예제:
{% for key, value in my_dict.items %}
{{ key }}: {{ value }}
{% endfor %}
위 코드는 my_dict
사전의 모든 키-값 쌍을 반복하고 각 키와 값을 출력합니다.
변수 사용:
사전 키를 변수로 사용할 수도 있습니다.
{% set my_key = "name" %}
{{ my_dict[my_key] }}
위 코드는 my_dict
사전의 "name"
키에 해당하는 값을 출력합니다.
주의 사항:
- 사전 키가 문자열이 아닌 경우 템플릿에서 직접 사용할 수 없습니다.
- 사전 키가 변수인 경우 대괄호
[]
를 사용하여 값을 조회해야 합니다.
Django 템플릿에서 변수를 사용하여 사전 값을 조회하는 방법: 예제 코드
기본 사전 조회
이 예제에서는 my_dict
라는 사전에 두 개의 키-값 쌍이 있습니다. 템플릿에서 점 표기법을 사용하여 이러한 값을 조회합니다.
{% extends "base.html" %}
{% block content %}
<h1>사전 조회</h1>
<p>{{ my_dict.key1 }}</p>
<p>{{ my_dict.key2 }}</p>
{% endblock %}
이 템플릿을 렌더링하면 다음과 같은 출력이 생성됩니다.
사전 조회
값1
값2
변수를 사용한 사전 조회
이 예제에서는 변수를 사용하여 사전 키를 지정합니다.
{% extends "base.html" %}
{% block content %}
<h1>변수를 사용한 사전 조회</h1>
{% set my_key = "key2" %}
<p>{{ my_dict[my_key] }}</p>
{% endblock %}
변수를 사용한 사전 조회
값2
다차원 사전 조회
이 예제에서는 다차원 사전을 조회합니다.
{% extends "base.html" %}
{% block content %}
<h1>다차원 사전 조회</h1>
<p>{{ my_dict.nested_dict.key3 }}</p>
{% endblock %}
다차원 사전 조회
값3
기본 필터 사용
이 예제에서는 upper
필터를 사용하여 사전 값을 대문자로 변환합니다.
{% extends "base.html" %}
{% block content %}
<h1>기본 필터 사용</h1>
<p>{{ my_dict.key1|upper }}</p>
{% endblock %}
기본 필터 사용
값1 (대문자)
사용자 정의 필터 사용
이 예제에서는 사용자 정의 필터를 사용하여 사전 값을 특정 형식으로 표시합니다.
{% extends "base.html" %}
{% block content %}
<h1>사용자 정의 필터 사용</h1>
<p>{{ my_dict.key2|my_custom_filter }}</p>
{% endblock %}
이 템플릿을 렌더링하려면 my_custom_filter
필터를 정의해야 합니다. 다음은 사용자 정의 필터의 예입니다.
from django import template
register = template.Library()
@register.filter
def my_custom_filter(value):
return value.strftime('%Y-%m-%d')
사용자 정의 필터 사용
2024-05-23
Django 템플릿에서 변수를 사용하여 사전 값을 조회하는 방법: 대체 방법
get 메서드 사용:
get
메서드는 사전에서 키에 해당하는 값을 가져옵니다. 키가 존재하지 않으면 기본값을 반환합니다.
{% extends "base.html" %}
{% block content %}
<h1>get 메서드 사용</h1>
<p>{{ my_dict.get("key1") }}</p>
<p>{{ my_dict.get("key3", "기본값") }}</p>
{% endblock %}
get 메서드 사용
값1
기본값
in 연산자 사용:
in
연산자는 키가 사전에 존재하는지 확인하는 데 사용됩니다.
{% extends "base.html" %}
{% block content %}
<h1>in 연산자 사용</h1>
{% if "key1" in my_dict %}
<p>{{ my_dict["key1"] }}</p>
{% else %}
<p>키 "key1"이 존재하지 않습니다.</p>
{% endif %}
{% endblock %}
in 연산자 사용
값1
with 블록 사용:
with
블록은 사전에 대한 반복 루프를 만드는 데 사용됩니다. 각 반복에서 키와 값을 변수에 할당할 수 있습니다.
{% extends "base.html" %}
{% block content %}
<h1>with 블록 사용</h1>
{% with my_dict as my_data %}
{% for key, value in my_data.items %}
<p>{{ key }}: {{ value }}</p>
{% endfor %}
{% endwith %}
{% endblock %}
with 블록 사용
key1: 값1
key2: 값2
dictfilter 템플릿 태그 사용:
dictfilter
템플릿 태그는 사전을 필터링하고 정렬하는 데 사용할 수 있습니다.
{% extends "base.html" %}
{% block content %}
<h1>dictfilter 템플릿 태그 사용</h1>
{{ my_dict|dictfilter:keys|sort }}
<ul>
{% for key in my_dict|dictfilter:keys|sort %}
<li>{{ key }}</li>
{% endfor %}
</ul>
{% endblock %}
dictfilter 템플릿 태그 사용
key1
key2
key3
python django templates