The Messages Framework
Wyświetlanie użytkownikom komunikatów o powodzeniu i błędach
The Messages Framework 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.
Czym są komunikaty jednorazowe
Po wykonaniu operacji często potrzebny jest jednorazowy komunikat, na przykład „Zapisano!”. Framework komunikatów wyświetla go na następnej stronie, a potem usuwa. ✨
Wszystko jest już skonfigurowane
Nowe projekty zawierają aplikację messages wraz z jej middleware i procesorem kontekstu, więc można od razu wyświetlać komunikaty.
Dodawanie komunikatu
W widoku wywołaj messages.add_message, przekazując żądanie, poziom i tekst, aby dodać komunikat do kolejki dla odwiedzającego.
from django.contrib import messages
messages.add_message(request, messages.SUCCESS, 'Saved!')Przydatne skróty
Pomiń argument poziomu, korzystając z funkcji pomocniczych, takich jak messages.success. Są czytelne i obejmują najczęściej używane poziomy.
messages.success(request, 'Profile updated.')Poziomy komunikatów
Dostępnych jest pięć wbudowanych poziomów: DEBUG, INFO, SUCCESS, WARNING i ERROR. Każdy odpowiada klasie CSS, którą można stylować niezależnie.
Ostrzeżenia i błędy
Użyj messages.error, gdy coś się nie powiedzie, aby odwiedzający zobaczył wyraźny komunikat wyróżniony kolorem czerwonym zamiast cichej porażki.
messages.error(request, 'Could not delete that item.')Przetrwają przekierowania
Komunikaty są przechowywane do czasu wyświetlenia, dlatego przetrwają redirect. Doskonale pasuje to do wzorca „prześlij, a następnie przekieruj” po wysłaniu formularza.
Wyświetlanie ich w szablonach
Procesor kontekstu udostępnia zmienną messages. Iteruj po niej w szablonie bazowym, aby każda strona mogła wyświetlać komunikaty.
{% for m in messages %}
<li>{{ m }}</li>
{% endfor %}Stylowanie według poziomu
Każdy komunikat zawiera message.tags, na przykład success lub error. Umieść tę wartość w klasie, aby pokolorować komunikaty za pomocą CSS.
<li class="{{ m.tags }}">{{ m }}</li>Odczytane raz, a potem usunięte
Iterowanie po zmiennej messages oznacza komunikaty jako odczytane. Nie pojawią się ponownie przy następnym żądaniu, co dokładnie odpowiada oczekiwanemu działaniu komunikatów jednorazowych.
Gdzie są przechowywane
Domyślnie komunikaty korzystają z FallbackStorage, które najpierw próbuje użyć pliku cookie, a w przypadku dłuższych komunikatów przenosi je do sesji.
Szybkie sprawdzenie
Co dzieje się z komunikatem, gdy szablon zakończy iterowanie po nim?
Podsumowanie
Poznano framework komunikatów: dodawanie komunikatów z poziomami, zachowywanie ich podczas przekierowań, renderowanie w szablonie bazowym i usuwanie po jednym widoku. Następny temat to pliki cookie i sesje. 🍪
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 „The Messages Framework” jest bezpłatna?
Tak — pełny tekst „The Messages Framework” 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 „The Messages Framework”?
Wyświetlanie użytkownikom komunikatów o powodzeniu i błędach Ć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 „The Messages Framework”?
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
- The Session Framework
- Odczyt i zapis request.session
- The Messages Framework
- Cookies a sesje