Deklarowanie dozwolonych metod na trasie
Przekaż metody GET i POST do @app.route.
Deklarowanie dozwolonych metod na trasie to bezpłatna lekcja Flask Academy na CoddyKit. To lekcja 1 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.
Trasy domyślnie obsługują GET
Każda napisana dotąd trasa Flask odpowiada tylko na żądania GET. Przeglądarki używają GET do pobierania stron, więc jest to naturalna wartość domyślna.
Argument methods
Aby akceptować inne metody, przekaż listę methods do dekoratora trasy. Informuje ona Flask dokładnie, jakie metody HTTP będzie obsługiwać widok.
@app.route("/submit", methods=["GET", "POST"])
def submit():
return "ok"Dlaczego trzeba jawnie wymienić GET
Po ustawieniu methods niejawna obsługa GET znika. Jeśli nadal chcesz obsługiwać GET, musisz samodzielnie umieścić go na liście.
Trasa obsługująca tylko POST
Niektóre punkty końcowe nigdy nie powinny udostępniać strony. Utwórz trasę obsługującą tylko POST, wymieniając wyłącznie POST — żądania GET zostaną odrzucone.
@app.route("/api/items", methods=["POST"])
def create_item():
return "created"Metody są zapisywane wielkimi literami
Flask oczekuje każdej metody jako ciągu znaków zapisanego wielkimi literami, na przykład "GET" lub "POST". Wpisy zapisane małymi literami po prostu nie będą pasować do przychodzących żądań.
HEAD jest dodawane automatycznie
Gdy zezwalasz na GET, Flask automatycznie odpowiada również na HEAD. HEAD zwraca te same nagłówki co GET, ale bez treści.
OPTIONS również jest dodawane
Flask automatycznie obsługuje także OPTIONS, odpowiadając nagłówkiem Allow zawierającym listę metod akceptowanych przez trasę.
Poza GET i POST
API często potrzebuje większej liczby metod. W ten sam sposób możesz wymienić PUT, PATCH lub DELETE, aby obsługiwać aktualizowanie i usuwanie zasobów.
@app.route("/api/items/<id>", methods=["PUT", "DELETE"])
def edit_item(id):
return "changed"Jedna funkcja, wiele metod
Pojedynczy widok może jednocześnie akceptować kilka metod. W jego wnętrzu decydujesz, co robi każda z nich — wszystko w ramach jednej funkcji.
Dopasuj metodę do zamiaru
Używaj GET do odczytu, a POST do tworzenia. Wybór właściwej metody sprawia, że API jest przewidywalne dla każdego wywołującego je klienta.
Niewłaściwa metoda oznacza brak dopasowania
Jeśli klient użyje metody, której nie wymieniono, Flask całkowicie odrzuci żądanie. Deklarowanie methods to pierwsza linia kontroli dostępu.
Szybkie sprawdzenie
Zastanów się, co dzieje się z GET po ustawieniu methods.
Podsumowanie
Trasy domyślnie obsługują GET, ale lista methods pozwala akceptować POST, PUT i inne metody. Jeśli nadal potrzebuje Pan/Pani GET, należy dodać go na liście. Świetnie! 🎉
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Deklarowanie dozwolonych metod na trasie” jest bezpłatna?
Tak — pełny tekst „Deklarowanie dozwolonych metod na trasie” 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 „Deklarowanie dozwolonych metod na trasie”?
Przekaż metody GET i POST do @app.route. Ć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 1 z 4.
Ile czasu zajmuje lekcja „Deklarowanie dozwolonych metod na trasie”?
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
- Deklarowanie dozwolonych metod na trasie
- Rozgałęzianie logiki według request.method
- Odczytywanie danych POST z treści żądania
- Wyjaśnienie błędu 405 Method Not Allowed