Loops em templates
Parte da seção Fundamentos do Django do Journey de Django da Coddy. Lição 13 de 23.
O café tem uma nova página, /drinks/. Sua view passa cada bebida para o template como drinks, mas a lista na página está vazia. A tag {% for %} repete o HTML uma vez para cada item. Uma página que lista mesas livres:
<ul>
{% for table in free_tables %}
<li>Table {{ table }} is free.</li>
{% empty %}
<li>Every table is taken.</li>
{% endfor %}
</ul>Ela funciona como o for do Python, com table definido como cada item, um de cada vez. Templates não têm regras de indentação, então {% endfor %} fecha o loop. A parte opcional {% empty %} aparece somente quando a lista não contém nenhum item.
O loop só vê os nomes no contexto, como drinks, e não as variáveis de views.py.
Desafio
FácilEm drinks.html, percorra drinks dentro de <ul>. Cada bebida recebe um <li class="drink"> com seu nome. Quando não houver bebidas, mostre <li>No drinks today.</li> no lugar.
Pressione Executar: /drinks/ lista quatro bebidas.
Experimente você mesmo
<!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>
Todas as lições de Fundamentos do Django
1Seu Primeiro Site com Django
Olá, DjangoUma Segunda Página4Layouts e Arquivos Estáticos
Herança de TemplatesUm Título para Cada Página3Templates
Seu primeiro templateVariáveis de templatePratique por conta própria: Playground de Django