首页
学习
活动
专区
圈层
工具
发布

Django messages 消息(上)

Django Rest Framework 视图(下)

Django messages 框架

在网页应用中,经常需要在处理完表单或其它类型的用户输入后,显示一个通知消息(也叫做“flash message”)给用户。

对于这个功能,Django 提供了基于 Cookie 和会话的消息,无论是匿名用户还是认证的用户。其消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。每个消息都带有一个特定 level 标签,表示其优先级(例如 info、warning 或 error)

一、启用消息框架

消息框架的实现通过一个中间件类和对应的 context processor。

django-admin startproject 创建的默认 settings.py 已经包含启用消息框架功能需要的所有的设置:

  • INSTALLED_APPS 中的 ‘django.contrib.messages’
  • MIDDLEWARE_CLASSES 中的 ‘django.contrib.sessions.middleware.SessionMiddleware’ 和 ‘django.contrib.messages.middleware.MessageMiddleware’

默认的后端存储依赖 sessions,所以 MIDDLEWARE_CLASSES 中必须启用 SessionMiddleware 并出现在 MessageMiddleware 之前。

  • TEMPLATES 设置中定义的 DjangoTemplates 的 ‘context_processors’ 选项包含 ‘django.contrib.messages.context_processors.messages’。

如果不想使用消息框架,可以删除 INSTALLED_APPS 中的 ‘django.contrib.messages’、MIDDLEWARE_CLASSES 中的 MessageMiddleware 和 TEMPLATES 中的 messages.context_processors.messages。

举报
领券