Django Academy · Lekcja

The Messages Framework

Wyświetlanie użytkownikom komunikatów o powodzeniu i błędach

Lekcja 3 z 413 kroki

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. 🍪

Bezpłatny start

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

  1. The Session Framework
  2. Odczyt i zapis request.session
  3. The Messages Framework
  4. Cookies a sesje
← Powrót do Django Academy