0Pricing
Django Academy · Урок

Инфраструктура сообщений

Показывайте пользователям временные уведомления об успехе и ошибках

«Инфраструктура сообщений» — бесплатный урок Django Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Django Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Django Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

What Flash Messages Are

After an action you often want a one-time notice like Saved! The messages framework shows it on the next page, then forgets it. ✨

Already Set Up

New projects include the messages app plus its middleware and context processor, so you can start flashing notices right away.

Adding a Message

In a view, call messages.add_message with the request, a level, and your text to queue a notice for the visitor.

from django.contrib import messages
messages.add_message(request, messages.SUCCESS, 'Saved!')

Handy Shortcuts

Skip the level argument with helpers like messages.success. They read clearly and cover the levels you use most often.

messages.success(request, 'Profile updated.')

The Message Levels

Five built-in levels exist: DEBUG, INFO, SUCCESS, WARNING, and ERROR. Each maps to a CSS tag you can style differently.

Warnings and Errors

Use messages.error when something fails so the visitor sees a clear, red-styled notice instead of a silent failure.

messages.error(request, 'Could not delete that item.')

They Survive Redirects

Messages are stored until displayed, so they survive a redirect. That fits the post-then-redirect pattern after a form submit perfectly.

Showing Them in Templates

The context processor exposes a messages variable. Loop over it in your base template so every page can show notices.

{% for m in messages %}
  <li>{{ m }}</li>
{% endfor %}

Styling by Level

Each message carries message.tags, like success or error. Drop that into a class to color notices with your CSS.

<li class="{{ m.tags }}">{{ m }}</li>

Read Once, Then Gone

Iterating the messages variable marks them read. They will not reappear on the next request, which is exactly the flash behavior you want.

Where They Are Stored

By default messages use the FallbackStorage, which tries the cookie first and spills into the session for longer notices.

Quick Check

What happens to a message once a template loops over it?

Recap

You learned the messages framework: add notices with levels, survive redirects, render them in your base template, and they vanish after one view. Cookies versus sessions is next. 🍪

Часто задаваемые вопросы

Урок «Инфраструктура сообщений» бесплатный?

Да — полный текст урока «Инфраструктура сообщений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Django Academy, подпишись на CoddyKit PRO. Курс Django Academy содержит 4 уроков всего.

Чему я научусь в уроке «Инфраструктура сообщений»?

Показывайте пользователям временные уведомления об успехе и ошибках Ты практикуешь Django Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Django Academy?

Предыдущий опыт не требуется. Django Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Инфраструктура сообщений»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Django Academy?

Да. Каждый урок Django Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Инфраструктура сеансов
  2. Чтение и запись request.session
  3. Инфраструктура сообщений
  4. Файлы cookie и сеансы
← Назад к Django Academy