0Pricing
Python Academy · Lektion

Formulare und Anfragedaten

Benutzereingaben verarbeiten

Formulare und Anfragedaten ist eine kostenlose Python Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Python Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Das request-Objekt

Flask stellt jeder View ein globales request-Objekt zur Verfügung, das alle eingehenden Daten enthält: Formularfelder, Query-Strings, JSON, Header und mehr.

from flask import Flask, request
app = Flask(__name__)
# request is available inside any view
print('request carries the incoming data')

Query-String-Parameter

Daten nach ? in der URL befinden sich in request.args. Verwenden Sie .get(), um einen Wert sicher auszulesen.

from flask import Flask, request
app = Flask(__name__)

@app.route('/search')
def search():
    term = request.args.get('q', '')
    return 'Searching for ' + term
print('/search?q=cats -> request.args')

Ein HTML-Formular

Ein Formular sendet Daten, wenn es abgeschickt wird. Die Attribute method und action bestimmen, wie und wohin die Daten gesendet werden.

# <form method='POST' action='/login'>
#   <input name='username'>
#   <input name='password' type='password'>
#   <button>Submit</button>
# </form>
print('Form posts username and password')

Formulardaten auslesen

Abgeschickte Formularfelder werden in request.form abgelegt. Greifen Sie über das name-Attribut des Eingabefelds darauf zu.

from flask import Flask, request
app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    user = request.form['username']
    return 'Welcome ' + user
print('request.form holds posted fields')

Sicherer Zugriff mit get

Die Verwendung von request.form['x'] löst eine Ausnahme aus, wenn der Schlüssel fehlt. Verwenden Sie stattdessen request.form.get('x'), das in diesem Fall None zurückgibt.

from flask import Flask, request
app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    user = request.form.get('username')
    if not user:
        return 'Missing username', 400
    return 'Welcome ' + user
print('.get avoids KeyError')

GET und POST in einer View

Ein häufig verwendetes Muster: Zeigen Sie das Formular bei GET an und verarbeiten Sie die Daten bei POST – alles in einer View.

from flask import Flask, request, render_template
app = Flask(__name__)

@app.route('/contact', methods=['GET', 'POST'])
def contact():
    if request.method == 'POST':
        return 'Thanks, ' + request.form.get('name', 'friend')
    return render_template('contact.html')
print('One view, two methods')

Eingaben validieren

Vertrauen Sie niemals Benutzereingaben. Prüfen Sie vor ihrer Verwendung, ob erforderliche Felder vorhanden sind und sinnvolle Werte enthalten.

from flask import Flask, request
app = Flask(__name__)

@app.route('/age', methods=['POST'])
def age():
    raw = request.form.get('age', '')
    if not raw.isdigit():
        return 'Age must be a number', 400
    return 'Age is ' + raw
print('Validate before trusting input')

JSON auslesen

API-Clients senden häufig JSON. request.get_json() parst den Body in ein Python-Dictionary.

from flask import Flask, request
app = Flask(__name__)

@app.route('/api', methods=['POST'])
def api():
    data = request.get_json()
    return 'Got name ' + data.get('name', '?')
print('get_json parses the JSON body')

Datei-Uploads

Hochgeladene Dateien befinden sich in request.files. Speichern Sie eine Datei nach der Validierung mit ihrer .save()-Methode.

from flask import Flask, request
app = Flask(__name__)

@app.route('/upload', methods=['POST'])
def upload():
    f = request.files.get('photo')
    if f:
        return 'Received ' + f.filename
    return 'No file', 400
print('request.files holds uploads')

Nach POST weiterleiten

Leiten Sie die Benutzer nach der Verarbeitung eines Formulars weiter, um doppelte Übermittlungen beim Aktualisieren der Seite zu vermeiden. Verwenden Sie redirect(url_for(...)).

from flask import Flask, redirect, url_for
app = Flask(__name__)

@app.route('/done')
def done():
    return 'All done'

@app.route('/save', methods=['POST'])
def save():
    return redirect(url_for('done'))
print('Post/Redirect/Get pattern')

Flash-Nachrichten

flash() speichert eine einmalig angezeigte Nachricht, die nach einer Weiterleitung erscheint – ideal für Bestätigungen wie „Erfolgreich gespeichert“.

from flask import Flask, flash, redirect, url_for
app = Flask(__name__)
app.secret_key = 'change-me'

@app.route('/save', methods=['POST'])
def save():
    flash('Saved successfully')
    return redirect(url_for('save'))
print('flash shows a one-time message')

Kurzer Test

Testen Sie Ihr Wissen über die Formularverarbeitung.

Zusammenfassung

Sie haben Benutzereingaben in Flask verarbeitet.

  • request.args für Query-Strings, request.form für Formularfelder
  • request.get_json() für JSON-Bodies, request.files für Uploads
  • Validieren Sie Eingaben immer und verwenden Sie .get() für einen sicheren Zugriff
  • Verwenden Sie Post/Redirect/Get und flash() für eine klare Benutzererfahrung

Häufig gestellte Fragen

Ist die Lektion „Formulare und Anfragedaten“ kostenlos?

Ja — der vollständige Text von „Formulare und Anfragedaten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Python Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Python Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Formulare und Anfragedaten“?

Benutzereingaben verarbeiten Du übst Python Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Python Academy zu starten?

Keine Vorkenntnisse erforderlich. Python Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Formulare und Anfragedaten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Python Academy-Lektion Code schreiben und ausführen?

Ja. Jede Python Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Routen und Views
  2. Templates mit Jinja2
  3. Formulare und Anfragedaten
  4. Einen REST-Endpunkt erstellen
← Zurück zu Python Academy