Menu
CoddyTech

Filter Templat

Termasuk bagian Dasar-Dasar Django dalam perjalanan Django di Coddy. Pelajaran 15 dari 23.

Daftar minuman harus menyebutkan jumlah minuman dan menampilkan harga seperti $3.50, tetapi {{ drink.price }} mencetak 3.5. Filter mengubah nilai saat template mencetaknya. Filter ditulis setelah |, dan beberapa filter menerima argumen setelah titik dua:

{{ guest.name|upper }}         {# ADA #}
{{ rating|floatformat:1 }}     {# 4.7, when rating is 4.66 #}
{{ boxes|length }} box{{ boxes|pluralize:"es" }}
{# ... #} adalah komentar template yang tidak pernah ditampilkan. Argumen floatformat menentukan jumlah angka desimal yang selalu ditampilkan. length menghitung jumlah item dalam list, dan pluralize menambahkan akhiran, yaitu s kecuali kamu memberikan akhiran lain, jika jumlahnya bukan tepat satu: 3 boxes, 1 box.

Filter hanya mengubah apa yang dicetak, bukan data dalam view-mu.

challenge icon

Tantangan

Mudah

Di drinks.html:

  • di bawah <h1>, sebuah <p class="count"> yang menampilkan 4 drinks, atau 1 drink jika hanya ada satu;
  • di dalam <li> setiap minuman, setelah namanya, sebuah <span class="price"> dengan dua angka desimal: $3.50.

Tekan Jalankan dan lihat /drinks/.

Coba sendiri

<!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>

Semua pelajaran di Dasar-Dasar Django

Latihan sendiri: Playground Django