Menu
CoddyTech

템플릿 필터

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.

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

challenge icon

챌린지

쉬움

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