programmeren
in python
Jaar 4 - Module 1 - Les 4: For in Templates in Flask
Dit jaar gaan we...
-
Leren hoe websites werken
-
Wat het verschil is tussen server & client software
Dit jaar gaan we...
-
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
De komende weken gaan we...
-
Leren hoe websites werken
-
Zelf een website maken met Python
-
Python kennis opfrissen en verdiepen
vandaag gaan we leren
-
Hoe je een 'for' gebruikt in een template in Flask
-
Hoe je dat kan combineren met een Python-lijst
Dit programma gebruikt een dictionary.
Dictionaries (herhaling)
Dit programma gebruikt een dictionary.
gebruiker = {
'voornaam': 'Piet',
'achternaam': 'de Vries',
'geboortejaar': 2000
}
print(gebruiker['voornaam'])
Dictionaries (herhaling)
demo
HTML is de codetaal die bepaalt hoe websites eruit zien.
HTML
HTML is de codetaal die bepaalt hoe websites eruit zien.
HTML
<!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.
HTML
<!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.
HTML
<!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.
HTML
<!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.
HTML & Flask
<!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!
HTML & Flask
<!DOCTYPE html>
<html>
<head>
<title>Welkom op deze site!</title>
</head>
<body>
Hallo {{name}}!
<p> Welkom </p>
</body>
</html>
HTML & Flask
<!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.
HTML & Flask
<!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.
HTML & Flask
<!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?
Flask - For
<!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
HTML & Flask
@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
HTML & Flask
@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
HTML & Flask
@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.
Flask - For
<!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.
HTML & Flask
@app.route('/lijst/')
def lijst(name):
leerlingen = ['Sivan', 'Boas', 'Marielle', 'Raymond']
return render_template('lijst.html',
leerlingen = leerlingen,
klasnaam = 'lk4cod')
demo
opdrachten
opdrachten
- Volg deze Flask tutorial: bit.ly/flask-for
opdrachten
- Volg deze Flask tutorial: bit.ly/flask-for
- Gebruik for-loops op jouw site:
opdrachten
- Volg deze Flask tutorial: bit.ly/flask-for
- Gebruik for-loops op jouw site:
- Extra:
Klas 4 - Module 1 - Les 4
By Felienne
Klas 4 - Module 1 - Les 4
Leerdoel Module: Website maken met Flask Lesdoel: Begin dictionaries.
- 700