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 jak for w Pythonie, a table przyjmuje kolejno wartość każdego elementu. Szablony nie mają reguł dotyczących 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 views.py.
Wyzwanie
ŁatwyW pliku drinks.html wykonaj pętlę po drinks wewnątrz <ul>. Dla każdego napoju utwórz jeden element <li class="drink"> z jego nazwą. Jeśli nie ma żadnych napojów, zamiast tego wyświetl <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