đŻ Ziel dieses Teils
â
Jede erledigte Aufgabe bekommt einen âZurĂŒcksetzenâ-Button
â
Beim Klick wird erledigt = False gesetzt
â
Die Ănderung wird sofort gespeichert
â
Alles passiert im Browser, ohne Neuladen per Hand
Schritt 1: Neue Route in app.py
FĂŒge in deiner app.py diese neue Route hinzu:
@app.route("/zuruecksetzen/<int:index>")
def aufgabe_zuruecksetzen(index):
if 0 <= index < len(aufgaben):
aufgaben[index]["erledigt"] = False
aufgaben_speichern()
return redirect(url_for("startseite"))
Schritt 2: Button in index.html
Bearbeite den Teil mit if aufgabe.erledigt
und fĂŒge bei erledigten Aufgaben einen âZurĂŒckâ-Button hinzu:
{% if aufgabe.erledigt %}
â
<s>{{ aufgabe.text }}</s>
<a href="/zuruecksetzen/{{ loop.index0 }}">
<button>đ ZurĂŒcksetzen</button>
</a>
{% else %}
⏠{{ aufgabe.text }}
<a href="/erledigt/{{ loop.index0 }}">
<button>â
Erledigt</button>
</a>
{% endif %}
<a href="/loeschen/{{ loop.index0 }}">
<button>â Löschen</button>
</a>
Beispiel-Ausgabe im Browser
Wenn eine Aufgabe erledigt ist, sieht sie nun z.âŻB. so aus:
â
~Python lernen~ đ ZurĂŒcksetzen â Löschen
Wenn sie offen ist:
⏠Python lernen â
Erledigt â Löschen
Was du jetzt kannst
| Funktion | Wie gemacht? |
|---|---|
| Aufgabe âreaktivierenâ | erledigt = False |
Neue Route /zuruecksetzen/x | @app.route(...) |
| Direktes Update | aufgaben_speichern() + redirect |
| Button nur bei erledigt | {% if aufgabe.erledigt %} |
Was du gelernt hast
- Zwei-Wege-Status: offen â erledigt
- Aufgaben logisch umschalten
- Routen flexibel erweitern
- HTML & Python logisch verbinden
Bonus-Ideen
- đą Verwende nur einen Button: âStatus wechselnâ
- â ïž Zeige eine BestĂ€tigung beim ZurĂŒcksetzen
- đ§ Zeige die letzte Ănderung (Zeitstempel)
Schreibe einen Kommentar