Pola formularza przez request.form
Pobieraj wartości z wysłanych formularzy HTML.
Pola formularza przez request.form to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Flask Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Flask Academy zawiera 4 lekcji w sumie.
Formularze wysyłają dane w treści żądania
Gdy formularz HTML jest przesyłany metodą POST, wartości pól trafiają do body żądania, a nie do adresu URL, więc request.args ich nie znajdzie.
Poznaj request.form
W przypadku przesłanych pól formularza Flask udostępnia request.form — obiekt podobny do słownika, którego kluczami są nazwy poszczególnych elementów input na stronie.
name = request.form["name"]Atrybut name jest kluczem
Pole pojawia się w request.form pod wartością swojego atrybutu HTML name, więc name="email" staje się request.form["email"].
Używaj .get dla opcjonalnych pól
Podobnie jak w przypadku args, lepiej użyć .get, aby pole pominięte przez użytkownika zwróciło None zamiast powodować awarię widoku.
phone = request.form.get("phone")Podaj wartość domyślną
Przekaż do .get wartość zapasową, a brakujące opcjonalne pola otrzymają poprawną wartość domyślną, co uprości resztę logiki.
role = request.form.get("role", "user")Dopasuj metodę HTTP
Dane formularza docierają tylko przy użyciu POST, więc trasa musi allow POST. W przeciwnym razie przeglądarka otrzyma 405, zanim uruchomi się kod.
@app.route("/signup", methods=["POST"])Wartości formularza też są ciągami znaków
Każda wartość formularza jest tekstem. Konwersję wieku, ceny czy liczby elementów trzeba wykonać samodzielnie, pamiętając o obsłudze niepoprawnych danych.
age = int(request.form.get("age", 0))Obsługuj pola wielowartościowe
Pola wyboru i listy wielokrotnego wyboru mogą wysłać ten sam klucz wiele razy. Użyj getlist, aby zebrać wszystkie wybrane wartości na liście.
picks = request.form.getlist("topics")Formularz a args — szybkie porównanie
Zapamiętaj różnicę: request.args odczytuje query string z adresu URL, natomiast request.form odczytuje pola z przesłanej treści żądania.
values łączy oba źródła
Potrzebujesz jednego ze źródeł bez względu na to, które to jest? request.values łączy args i form w jeden obiekt podobny do słownika.
token = request.values.get("token")Prosty widok rejestracji
Po połączeniu wszystkiego handler signup odczytuje imię i adres e-mail z formularza, a następnie odpowiada, gdy ma już oba te dane.
@app.route("/signup", methods=["POST"])
def signup():
name = request.form["name"]
return f"Welcome {name}"Szybkie sprawdzenie
Sprawdź, czy potrafisz odczytywać pola formularza.
Podsumowanie: pola formularza
Pobrano przesłane pola za pomocą request.form, użyto .get z wartościami domyślnymi, obsłużono dane wielowartościowe i pokazano różnicę w stosunku do args. 🙌
Często zadawane pytania
Czy lekcja „Pola formularza przez request.form” jest bezpłatna?
Tak — pełny tekst „Pola formularza przez request.form” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Flask Academy, przejdź na CoddyKit PRO. Kurs Flask Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Pola formularza przez request.form”?
Pobieraj wartości z wysłanych formularzy HTML. Ćwiczysz Flask Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Flask Academy?
Nie wymagamy żadnego doświadczenia. Flask Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Pola formularza przez request.form”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Flask Academy?
Tak. Każda lekcja Flask Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Parametry zapytania przez request.args
- Pola formularza przez request.form
- Treści JSON przez request.get_json
- Nagłówki, pliki cookie i adres IP klienta