Obsługa metod get i post
Kierowanie czasowników HTTP do metod klas
Obsługa metod get i post to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 3 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 Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.
Czasowniki stają się metodami
W CBV każdy czasownik HTTP odpowiada metodzie. Żądanie GET uruchamia metodę get, a żądanie POST — metodę post.
Utwórz klasę pochodną widoku bazowego
Aby uzyskać pełną kontrolę nad czasownikami, utwórz klasę pochodną bazowej klasy View. Następnie zdefiniuj dokładnie te metody, które mają być obsługiwane.
class ContactView(View):
passZdefiniuj metodę get
Dodaj metodę get, aby wyświetlić stronę, na przykład pusty formularz kontaktowy. Przyjmuje ona self i request oraz zwraca odpowiedź.
def get(self, request):
return render(request, "contact.html")Zdefiniuj metodę post
Dodaj metodę post, aby obsługiwać przesłane dane. Django automatycznie kieruje tutaj żądania POST.
def post(self, request):
name = request.POST.get("name")
return redirect("thanks")Koniec ze sprawdzaniem method
Nie trzeba już pisać if request.method == "POST". Django samo kieruje żądanie do właściwej metody na podstawie czasownika.
dispatch kieruje żądaniem
W tle metoda o nazwie dispatch sprawdza czasownik i wywołuje pasującą metodę. Rzadko trzeba odwoływać się do niej bezpośrednio.
Nieobsługiwane czasowniki zwracają 405
Jeśli żądanie używa czasownika, którego Państwo nie zdefiniowali, Django automatycznie zwraca 405 Method Not Allowed. Domyślnie jest to bezpieczne rozwiązanie.
Klasyczny przepływ GET, a następnie POST
Typowy schemat wygląda tak: get wyświetla formularz, użytkownik go przesyła, a post go przetwarza. Dwie metody, jedna przejrzysta klasa.
Przekierowanie po POST
Po pomyślnym wykonaniu post zwróć redirect zamiast renderować stronę. Zapobiega to wielokrotnemu przesłaniu formularza po odświeżeniu.
Udostępnianie stanu przez self
Obie metody znajdują się w tej samej klasie, więc można przechowywać wspólne wartości w self lub wywoływać zdefiniowane pomocnicze metody.
Podłącz widok za pomocą as_view
Skonfiguruj trasę dla klasy w zwykły sposób za pomocą as_view(). Django tworzy mechanizm obsługi żądań, a metody get i post po prostu działają.
path("contact/", ContactView.as_view())Szybkie sprawdzenie
Co dzieje się po wysłaniu żądania POST do CBV, w którym zdefiniowano tylko get?
Podsumowanie: get i post
Zobaczyli Państwo, jak CBV mapują czasowniki na metody: get wyświetla, post obsługuje, dispatch kieruje żądaniem, a niezdefiniowane czasowniki zwracają 405. Bez ręcznego sprawdzania metod. 🚦
Często zadawane pytania
Czy lekcja „Obsługa metod get i post” jest bezpłatna?
Tak — pełny tekst „Obsługa metod get i post” 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 Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Obsługa metod get i post”?
Kierowanie czasowników HTTP do metod klas Ćwiczysz Django 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ąć Django Academy?
Nie wymagamy żadnego doświadczenia. Django 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 3 z 4.
Ile czasu zajmuje lekcja „Obsługa metod get i post”?
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 Django Academy?
Tak. Każda lekcja Django 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
- Od widoków funkcyjnych do klas widoków
- TemplateView i get_context_data
- Obsługa metod get i post
- Mixiny i as_view()