meine Frage lautet kurz und knapp: Was ist ein guter Weg, um mit bottle Formulare auszuliefern und die Ergebnisse zu verarbeiten?
Ich dachte als erste Eingebung daran, eine einzelne Route du definieren, die sich sowohl um die Auslieferung des Formulars als auch um die Auswertung kümmert, wie im unteren Beispiel angedeutet zu sehen ist:
Code: Alles auswählen
@route("/ask", method="POST")
def ask_question():
if request.POST.get("ask", "").strip():
# Daten verarbeiten
# zurück zum Index oder sonst wohin
redirect("/")
else:
# Formular ausliefern
return "formular"
Code: Alles auswählen
<form action="/ask" method="POST">
<!-- irgend welche Elemente -->
<input type="submit" value="ask"/>
</form>
Eine Möglichkeit wäre es natürlich wie im Tutorial von bottle einfach GET zu nutzen; aber das ist ja eher ein workaround.
Ich sehe ich eigentlich nur die Möglichkeit, zwei Routen zu definieren, eine fürs Ausliefern des Formulars und eine fürs Auswerten. Problem dabei: Schlägt die Formularvalidierung fehl, so will ich die bisherigen Daten ja gerne wieder ans Template übergeben...
Nuja, vielleicht habe ich ja auch ein Brett vorm Kopf und die Erleuchtung ist trivial möglich
