Pętle w szablonach
Część sekcji Podstawy Django ścieżki Django w Coddy. Lekcja 13 z 23.
Kawiarnia ma nową stronę: /drinks/. Jej widok przekazuje każdy napój do szablonu jako drinks, ale lista na stronie jest pusta. Tag {% for %} powtarza kod HTML raz dla każdego elementu. Strona z listą wolnych stolików:
<ul>
{% for table in free_tables %}
<li>Table {{ table }} is free.</li>
{% empty %}
<li>Every table is taken.</li>
{% endfor %}
</ul>Działa to podobnie jak for w Pythonie, przy czym zmienna table przyjmuje kolejno wartość każdego elementu. Szablony nie mają reguł wcięć, więc {% endfor %} zamyka pętlę. Opcjonalna część {% empty %} wyświetla się tylko wtedy, gdy lista jest pusta.
Pętla widzi tylko nazwy z kontekstu, takie jak drinks, a nie zmienne z pliku views.py.
Wyzwanie
ŁatwyW pliku drinks.html wykonaj pętlę po drinks wewnątrz <ul>:
- jeden element
<li class="drink">dla każdego napoju, zawierający jego nazwę; - gdy nie ma żadnych napojów, zamiast tego użyj
<li>No drinks today.</li>.
Naciśnij Uruchom: /drinks/ wyświetla listę czterech napojów.
Spróbuj swoich sił
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Our Drinks</title>
</head>
<body>
<h1>Our Drinks</h1>
<ul>
<!-- one <li class="drink"> per drink -->
</ul>
</body>
</html>
Wszystkie lekcje w sekcji Podstawy Django
4Układy i pliki statyczne
Dziedziczenie szablonówTytuł dla każdej strony3Szablony
Twój pierwszy szablonZmienne w szablonachPoćwicz samodzielnie: Edytor online Django