РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
379 of 818 menu

Функция warning

Функция warning применяется для добавления сообщений с уровнем предупреждения в систему сообщений Django. Она принимает обязательный параметр request (объект запроса) и параметр message (текст сообщения), а также необязательный параметр extra_tags для дополнительных CSS-классов. Сообщения уровня warning обычно отображаются с жёлтым или оранжевым стилем в интерфейсе пользователя.

Синтаксис

from django.contrib import messages messages.warning(request, message, extra_tags='')

Пример

Давайте добавим предупреждающее сообщение при попытке пользователя удалить важную запись:

from django.contrib import messages from django.shortcuts import redirect from myapp.models import Article def delete_article(request, article_id): article = Article.objects.get(id=article_id) if article.is_important: messages.warning( request, 'This article is important and cannot be deleted' ) return redirect('article_detail', article_id=article.id) article.delete() messages.success(request, 'Article deleted successfully') return redirect('article_list')

Результат выполнения кода при попытке удалить важную статью:

"This article is important and cannot be deleted"

Пример

Давайте используем параметр extra_tags для добавления пользовательских CSS-классов к предупреждающему сообщению:

from django.contrib import messages from django.shortcuts import render def user_profile(request, user_id): if request.user.id != user_id: messages.warning( request, 'You are viewing someone else profile', extra_tags='alert-warning custom-class' ) context = {'user_id': user_id} return render(request, 'profile.html', context)

Результат выполнения кода при просмотре чужого профиля:

"You are viewing someone else profile"

Пример

Давайте используем функцию warning внутри шаблона для отображения предупреждения о несохранённых изменениях:

from django.contrib import messages from django.shortcuts import render from myapp.models import Article def edit_article(request, article_id): article = Article.objects.get(id=article_id) if request.method == 'POST': form = ArticleForm(request.POST, instance=article) if form.is_valid(): form.save() messages.success(request, 'Article updated successfully') return redirect('article_detail', article_id=article.id) else: messages.warning( request, 'Please correct the errors in the form' ) else: form = ArticleForm(instance=article) messages.warning( request, 'You have unsaved changes', extra_tags='unsaved-changes' ) return render(request, 'edit_article.html', {'form': form})

Результат выполнения кода при отображении формы редактирования:

"You have unsaved changes"

Смотрите также

  • функция success,
    которая добавляет сообщение об успешном действии
  • функция error,
    которая добавляет сообщение об ошибке
  • функция info,
    которая добавляет информационное сообщение
  • функция debug,
    которая добавляет отладочное сообщение
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить