템플릿 필터
Coddy Django 여정의 Django 기초 섹션에 포함된 레슨. 23개 중 15번째.
음료 목록에는 음료가 몇 개 있는지 표시하고 $3.50처럼 가격을 보여 줘야 하지만, {{ drink.price }}는 3.5를 출력합니다. 필터는 템플릿이 값을 출력할 때 그 값을 변경합니다. 필터는 | 뒤에 오며, 일부 필터는 콜론 뒤에 인수를 받습니다.
{{ guest.name|upper }} {# ADA #}
{{ rating|floatformat:1 }} {# 4.7, when rating is 4.66 #}
{{ boxes|length }} box{{ boxes|pluralize:"es" }}{# ... #}는 템플릿 주석이며 화면에 표시되지 않습니다. floatformat의 인수는 항상 표시할 소수 자릿수입니다. length는 목록의 항목 수를 세고, pluralize는 개수가 정확히 1이 아닐 때 끝에 s를 붙입니다. 다른 끝말을 지정할 수도 있습니다. 예: 3 boxes, 1 box.필터는 출력되는 내용만 바꾸며, 뷰의 데이터는 절대 바꾸지 않습니다.
챌린지
쉬움drinks.html에서:
<h1>아래에4 drinks라고 표시하는<p class="count">를 추가합니다. 음료가 하나일 때는1 drink라고 표시합니다.- 각 음료의
<li>에서 이름 뒤에 소수점 이하 두 자리로 표시하는<span class="price">를 추가합니다:$3.50.
실행을 누르고 /drinks/를 확인합니다.
직접 해보기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Our Drinks</title>
</head>
<body>
<h1>Our Drinks</h1>
<ul>
{% for drink in drinks %}
<li class="drink">
{{ drink.name }}
{% if drink.sold_out %}
<span class="sold-out">Sold out</span>
{% endif %}
</li>
{% empty %}
<li>No drinks today.</li>
{% endfor %}
</ul>
</body>
</html>
Django 기초의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드