ich mache gerade meine ersten Gehversuche in Bottle und baue mir eine kleine Webanwendung. Am Anfang habe ich mit der GET-Methode gearbeitet, aber laut Doku soll man wohl lieber POST aus Sicherheitsaspekten nehmen.
Ich habe daher meinen bestehenden Code umgebaut und bin erst einmal darüber gestolpert, dass man wohl zwei identische Routen bauen muss, einmal mit und einmal ohne POST-Methode. Gibt es nur diesen Weg oder kann man das auch mit nur einer Route und nur einer Funktion machen?
Zweitens: Wie kann ich am Ende der zweiten Funktion zu einer Bestimmten route springen, z.B. @route('/admin/kursuebersicht')?
Code: Alles auswählen
@route('/admin/kurse/add')
def kurs_add():
return template('template/kurs_add.tpl')
@route('/admin/kurse/add', method='POST')
def do_kurs_add():
kursname = request.forms.getunicode('name')
beschreibung = request.forms.getunicode('description')
with sqlite3.connect(db_file) as con:
cur = con.cursor()
cur.execute("INSERT INTO kurse (kursname,beschreibung) VALUES (?,?)", (kursname,beschreibung))
con.commit()
# Springe hier zu einer anderen URL / route