0Pricing
Flask Academy · Lezione

Cicli e condizioni in Jinja2

Renderizzi liste e gestisca condizioni nel markup dei template.

Cicli e condizioni in Jinja2 è una lezione Flask Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Flask Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Flask Academy include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Markup That Reacts

Sometimes you must repeat rows or hide a section. Jinja2 adds logic tags so your template can loop and branch over data.

The Statement Delimiter

Logic uses {% %}, not double braces. Braces output a value, while percent tags run control flow like loops and conditions.

A Basic for Loop

Repeat markup with a for loop. Each pass binds the current item so you can print it inside the loop body.

{% for item in items %}
  <li>{{ item }}</li>
{% endfor %}

Loops Must Close

Every block opens and closes. A for loop ends with endfor, which tells Jinja2 exactly where the repeated section stops.

The loop Variable

Inside a loop, Jinja2 gives you a special loop object. Use loop.index for a 1-based counter on each pass.

{% for u in users %}
  {{ loop.index }}. {{ u }}
{% endfor %}

Handling Empty Lists

A for block can include an else branch. It runs only when the list is empty, perfect for a no items message.

{% for t in todos %}{{ t }}{% else %}None yet{% endfor %}

An if Condition

Show markup only when a test passes using if. It ends with endif and accepts ordinary Python-style comparisons.

{% if user %}
  <p>Welcome back</p>
{% endif %}

Adding else

Pair an if with else to handle the other case. One branch renders when true, the other when the test is false.

{% if user %}Hi{% else %}Please log in{% endif %}

Multiple Branches with elif

Chain extra cases with elif. Jinja2 checks each in order and renders the first branch whose test is true.

{% if n > 0 %}+{% elif n < 0 %}-{% else %}0{% endif %}

Combining Loops and Ifs

Nest an if inside a loop to filter as you go. This lets each item decide whether it appears in the output.

{% for p in posts %}{% if p.live %}{{ p.title }}{% endif %}{% endfor %}

Keep Templates Readable

Light logic in templates is fine, but deep nesting hurts. Prepare filtered data in your view to keep markup clean.

Quick Check

Which delimiter does Jinja2 use for control flow like loops and conditionals?

Recap

You can now loop with for, branch with if and elif, use the loop counter, and handle empty lists, all inside templates. Well done! ✨

Domande Frequenti

La lezione «Cicli e condizioni in Jinja2» è gratuita?

Sì — il testo completo di «Cicli e condizioni in Jinja2» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Flask Academy, passa a CoddyKit PRO. Il corso Flask Academy include 4 lezioni in totale.

Cosa imparerò in «Cicli e condizioni in Jinja2»?

Renderizzi liste e gestisca condizioni nel markup dei template. Eserciti Flask Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Flask Academy?

Non è richiesta alcuna esperienza precedente. Flask Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Cicli e condizioni in Jinja2»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Flask Academy?

Sì. Ogni lezione Flask Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. render_template e la cartella templates
  2. Passare dati a un template
  3. Cicli e condizioni in Jinja2
  4. Autoescaping e filtro safe
← Torna a Flask Academy