Jaar 4 - Module 1 - Les 4: For in Templates in Flask
Leren hoe websites werken
Wat het verschil is tussen server & client software
Leren hoe websites werken
Wat het verschil is tussen server & client software
Zelf een website maken met Python, HTML & Javascript
Voor jezelf, of voor een eigen klant
Leren hoe websites werken
Zelf een website maken met Python
Python kennis opfrissen en verdiepen
Hoe je een 'for' gebruikt in een template in Flask
Hoe je dat kan combineren met een Python-lijst
Dit programma gebruikt een dictionary.
Dit programma gebruikt een dictionary.
gebruiker = {
'voornaam': 'Piet',
'achternaam': 'de Vries',
'geboortejaar': 2000
}
print(gebruiker['voornaam'])
HTML is de codetaal die bepaalt hoe websites eruit zien.
HTML is de codetaal die bepaalt hoe websites eruit zien.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo allemaal!
<p> Welkom </p>
</body>
</html>
HTML is de codetaal die bepaalt hoe websites eruit zien.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo allemaal!
<p> Welkom </p>
</body>
</html>
Maar... een HTML pagina is "statisch".
HTML is de codetaal die bepaalt hoe websites eruit zien.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo allemaal!
<p> Welkom </p>
</body>
</html>
Maar... een HTML pagina is "statisch".
Statisch betekent dat de pagina altijd hetzelfde is, en niet kan veranderen door een actie van de gebruiker.
HTML is de codetaal die bepaalt hoe websites eruit zien.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo allemaal!
<p> Welkom </p>
</body>
</html>
Maar... een HTML pagina is "statisch".
Statisch betekent dat de pagina altijd hetzelfde is, en niet kan veranderen door een actie van de gebruiker.
Flask zorgt ervoor dat pagina's wel dynamisch worden, met templates.
Met Flask mag je variabelen
invoegen in een HTML pagina.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo allemaal!
<p> Welkom </p>
</body>
</html>
Met Flask mag je variabelen
invoegen in een HTML pagina.
Dat doen we met dubbele krulhaakjes!
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{name}}!
<p> Welkom </p>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{name}}!
<p> Welkom </p>
</body>
</html>
Met Flask mag je variabelen
invoegen in een HTML pagina.
Dat doen we met dubbele krulhaakjes!
Vanuit Flask geef je de variabele mee aan het template.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{name}}!
<p> Welkom </p>
</body>
</html>
Met Flask mag je variabelen
invoegen in een HTML pagina.
Dat doen we met dubbele krulhaakjes!
Vanuit Flask geef je de variabele mee aan het template.
Maar... dit is maar één waarde.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{name}}!
<p> Welkom </p>
</body>
</html>
Met Flask mag je variabelen
invoegen in een HTML pagina.
Dat doen we met dubbele krulhaakjes!
Vanuit Flask geef je de variabele mee aan het template.
Maar... dit is maar één waarde. Wat te doen met meer data?
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{klasnaam}}!
Leerlingen in onze klas zijn:
{naam1, naam2, naam3, naam4, ... }
<p> Welkom </p>
</body>
</html>
Als je meer data hebt, kun je heel veel variabelen gebruiken.
Dan moet je ook al die namen in Python doorgeven
@app.route('/hello_template/<string:name>')
def hello_template(name):
return render_template('front_page.html',naam1="Marielle",
naam2="Sivan", naam3="Anouar",
naam4="Boas", ....)
Dan moet je ook al die namen in Python doorgeven
@app.route('/hello_template/<string:name>')
def hello_template(name):
return render_template('front_page.html',naam1="Marielle",
naam2="Sivan", naam3="Anouar",
naam4="Boas", ....)
Dat wordt een rommel!
Dan moet je ook al die namen in Python doorgeven
@app.route('/hello_template/<string:name>')
def hello_template(name):
return render_template('front_page.html',naam1="Marielle",
naam2="Sivan", naam3="Anouar",
naam4="Boas", ....)
Dat wordt een rommel!
Het kan gelukkig ook met een lijst.
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{klasnaam}}!
<p>
{%for leerling in leerlingen%}
{{leerling}}
{%endfor%}
<p>
</body>
</html>
Als je meer data hebt, kun je heel veel variabelen gebruiken.
In Python geef je dan de hele lijst door.
@app.route('/lijst/')
def lijst(name):
leerlingen = ['Sivan', 'Boas', 'Marielle', 'Raymond']
return render_template('lijst.html',
leerlingen = leerlingen,
klasnaam = 'lk4cod')