Also so sieht es z.B. aus, wenn die erste (von 10 Aufgaben) erstellt wurde:
Die Schülerinnen und Schüler haben jetzt 4 Möglichkeiten (wenn man von "abbrechen" absieht): Sie geben die richtige Lösung ein, oder die falsche, sie klicken auf "Lösung" anzeigen oder auf "Hilfe anzeigen". In der (von @whitie) erstellten Version, erfolgt die Rückmeldung über "messages". Diese werden, wie im Screenshot ersichtlich oben angezeigt. Wenn ich das richtig verstanden habe, werden diese als Cookie gespeichert(?)
Ich habe jetzt eigene Tags dazu erstellt:
Code: Alles auswählen
# MESSAGE_TAGS:
RICHTIG = 101
FALSCH = 102
LOESUNG = 103
DREI = 104
HILFE = 105
NEU = 106
Code: Alles auswählen
{% if messages %}
{% for message in messages %}
{% if level_tag == "FALSCH" %}
<li style="background-color:rgba(255,0, 0,0.6);">{{ message }}</li>
{% elif level_tag == "RICHTG" %}
<li style="background-color:rgba(0, 255, 0,0.6);">{{ message }}</li>
{% else %}
<li style="background-color:rgba(255, 255,0.6);">{{ message }}</li>
{% endif%}
{% endfor %}
{% endif %}
Ich habe noch weitere Probleme:
1. Ich brauche immer nur eine Meldung. Wenn ich z.B. auf Lösung klicke, bleibt die letzte Meldung auch noch sichtbar. Entweder müsste nur eine gespeichert werden oder nur der letzte "gelbe" Fund angezeigt werden.
2. Bei den Tags "DREI" (drei falsche Eingaben hintereinander) und "LOESUNG" soll die Aufgabe noch stehen bleiben bis auf weiter geklickt wird. Ich müsste also weiter unten im Template nochmals den level_tag auslesen - die messages werden ja aber oben gelöscht(?)
3 und dann noch: In html gibt es den wunderbaren Filter "floatformat", der dafür sorgt, dass eine Kommazahl nur als solche dargestellt wird, wenn sie auch Nachkommastellen hat. Mich stört die "richtig: 0.0" - gibt es in Python auch so eine schöne Lösung wie in html? Diese Zahl "richtig" ist nämlich fast immer eine Ganzzahl.