Hilfe bei "messages"
Verfasst: Donnerstag 24. November 2022, 16:40
Ein bischen was habe ich ja wirklich mal selbst hinbekommen. Jetzt brauche ich aber wieder Hilfe und wollte außerdem wissen, ob ich überhaupt auf dem richtigen Weg bin:
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:
Wenn die richtige Lösung eingegeben wurde, soll sich der Hintergrund der Nachricht grün färben, bei falscher rot und ansonsten gelb. Ich dachte, ich könne das jetzt einfach auslesen mit:
... wie ihr sicher schon kundig festgestellt habt, klappt das so nicht (auch nicht mit den Nummern).
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.
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.