为django项目加上flash message

本文介绍了如何在Django项目中使用message框架,包括框架简介、启用方法、配置存储引擎,以及在views和templates中的具体应用。通过message框架,可以方便地在处理用户输入后显示一次性通知消息。在实际项目中,如登录场景,message框架能够帮助向用户展示反馈信息。
摘要由CSDN通过智能技术生成

一. Django的message框架

官方文档:https://docs.djangoproject.com/en/1.9/ref/contrib/messages/

1. 简介

在web应用程序中,可能在处理表单或其他类型的用户输入后向用户展示一次性通知消息,也成为flash message。

django为匿名和经过身份验证的用户提供了对基于cookie和会话的消息的全支持,其消息框架允许在一个请求中临时存储消息,并检索它们在后续请求中显示(通常是下一个请求)。每条message都使用特定级别标记来确定其优先级。

2. 启用消息框架

消息框架通过Django中间价类和上下文处理时限。

默认的settings.py设置已包含启用消息框架所需的全部设置。

--在installed_app中包含'django.contrib,messages'

--在MIDDLEWARE_CLASSES 中包含 'django.contrib.sessions.middleware.SessionMiddleware' and 'django.contrib.messages.middleware.MessageMiddleware'.

消息默认存储在sessions,这也是必须要启用SessionMiddleware,并且需要放置在MessageMiddleware之前的原因。

--在django templates的context_processer选项中包含django.contrib.messages.context_processors.messages

3. 配置消息引擎

--存储后端

Django在django.contrib.messages中提供三种内置存储类:

storage.session.SessionStorage
存储请求会话内的所有消息。需要Django的contrib.sessions应用程序。

storage.cookie.CookieStorage
将消息数据存储在cookie中(使用秘密哈希签名以防止操作)在请求之间保留通知。如果cookie数据大小超过2048字节,则丢弃旧消息。

storage.fallback.FallbackStorage
首先使用CookieStorage,然后回退使用 SessionStorage不适合单个cookie的消息。它还需要Django的contrib.sessions应用程序。

此行为可以避免尽可能写入会话。一般情况下能提供最佳性能。

--消息级别和message tags

<
Level Constant Tag
DEBUG debug
INFO info
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值