Menu
CoddyTech

템플릿 필터

Coddy Django 여정의 Django 기초 섹션에 포함된 레슨. 23개 중 15번째.

음료 목록에는 음료가 몇 개 있는지 표시하고 $3.50와 같은 가격을 보여줘야 하지만, {{ drink.price }}는 3.5를 출력합니다. 필터는 템플릿이 값을 출력할 때 그 값을 변경합니다. 필터는 | 뒤에 오며, 일부 필터는 콜론 뒤에 인수를 받습니다:

{{ 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.

필터는 출력되는 내용만 변경하며, 뷰의 데이터는 절대 변경하지 않습니다.

challenge icon

챌린지

쉬움

drinks.html에서 <h1> 아래에 4 drinks라고 표시하는 <p class="count">를 추가하고, 음료가 하나일 때는 1 drink라고 표시하세요. 각 음료의 <li>에서 이름 뒤에 소수점 이하 두 자리까지 표시하는 <span class="price">를 추가하세요. 예: $3.50.

/drinks/를 여세요. 4 drinks라고 표시되고, Latte의 가격은 $3.50입니다.

직접 해보기

<!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 플레이그라운드