Mini-Projekt: Flask-Lerntracker
Anforderungen
- Flask-App
- Startseite mit Liste
- Formular zum Hinzufügen
- mind. 1 Template
- Daten in einer Liste (oder Datei)
- README Startbefehl
Beispiellösung (Kern)
Lösung anzeigen
from flask import Flask, render_template, request, redirect, url_for
app = Flask(__name__)
eintraege: list[dict] = [{"thema": "Listen", "minuten": 20}]
@app.get("/")
def home():
return render_template("tracker.html", eintraege=eintraege)
@app.post("/add")
def add():
thema = request.form.get("thema", "").strip() or "Ohne Titel"
try:
minuten = int(request.form.get("minuten", "0"))
except ValueError:
minuten = 0
eintraege.append({"thema": thema, "minuten": minuten})
return redirect(url_for("home"))
if __name__ == "__main__":
app.run(debug=True)
templates/tracker.html:
<h1>Lerntracker</h1>
<ul>
{% for e in eintraege %}
<li>{{ e.thema }} – {{ e.minuten }} Min</li>
{% endfor %}
</ul>
<form action="/add" method="post">
<input name="thema" placeholder="Thema" />
<input name="minuten" placeholder="Minuten" />
<button type="submit">Add</button>
</form>
Kapitel 48 geschafft!
Als Nächstes: Meilensteine Band 8.