深入学习Django源码基础17 - django中messagee分析学习

Django 4.x Message 消息使用示例和配置方法 可以在views.py中创建自定义消息级别,并在中进行配置,确保级别不冲突。from django . contrib . messages import constants as messages # 自定义消息级别 CRITICAL = 50 def my_view(request) : messages . add_message(request , CRITICAL , '发生严重错误。 阅读详情

message属于中间件。因此加载与使用主要都是通过中间件挂到request以后与response返回的过程中

 

messages目录结构

messages
|----locale
|----storage
     |----__init__.py
     |----base.py
     |----cookie.py
     |----fallback.py
     |----session.py
|----tests
     |----__init__.py
     |----base.py
     |----cookie.py
     |----fallback.py
     |----middleware.py
     |----session.py
     |----urls.py
|----__init__.py
|----api.py
|----constants.py
|----context_processors.py
|----middleware.py
|----models.py
|----utils.py

中间件代码

class MessageMiddleware(object):
    def process_request(self, request):
        request._messages = default_storage(request)

    def process_response(self, request, response):
        if hasattr(request, '_messages'):
            unstored_messages = request._messages.update(response)
            if unstored_messages and settings.DEBUG:
                raise ValueError('Not all temporary messages could be stored.')
        return response


进入default_sorage

default_storage = lambda request: get_storage(settings.MESSAGE_STORAGE)(request)


通过配置的MESSAGE_SOTRAGE导入模块并传递请求,可导入的模块有cookie,session,fallback


在storage/base.py 文件中

定义了2个基类,1个是Message,1个是 BaseStorage


message主要用来存储消息的内容,等级,标签

而Storage中存储了消息列表,允许遍历和计算长度,存储方式为cookie,session和cookie+session综合 3种


具体使用方法

1:添加中间件支持

2:设置中添加存储的方式django.contrib.messages.storage.cookie

3:使用代码如下

from django.contrib import messages

messages.debug(request, "调试输出到本地")

4:在template中

{%if messages %}
{% for msg in messages %}
{{ msg.message }}
{% endfor }
{% endif %}


django 消息框架 message使用详解 主要介绍了django 消息框架 message使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 立即下载

相关推荐

Apple 网页 SRP 登录系列文章(二):网页参数提取与会话初始化

本文深入解析了Apple网页SRP登录的第一个关键环节。文章首先指出Apple登录页面采用多层安全架构,包括跨域跳转机制和动态参数生成。重点介绍了四种关键参数(ServiceKey、SCNT、FrameId、ServiceNum)的提取技术,通过正则表达式和JSON路径解析从HTML脚本和HTTP头中获取。最后详细说明了会话初始化流程,包括访问初始页面和构建认证URL。这些技术细节揭示了Apple如何通过复杂机制确保登录过程的安全性。

Sayid_Des的专栏 1129

django message组件

注意:1、message的数据必须通过for循环才能取道里面的值。1、4模板(便于模板中使用)模板中调用message取值。

m0_73399600的博客 364

Microchip Studio 7.0 从零开始:下载、安装到首个AVR工程实战

本文为AVR单片机开发新手提供了Microchip Studio 7.0的完整入门指南。从官方下载、避坑安装,到创建首个GCC C工程、编写LED闪烁代码,再到项目配置、仿真调试与程序烧录,手把手带你完成从零到一的实战过程,是掌握AVR开发环境的必备教程。

weixin_29200741的博客 520

Django模板中使用消息message框架

在web应用程序中,通常需要在处理表单或其他类型的用户输入之后向用户显示一次性通知消息(也称为“flash message”)。 为此,Django为匿名用户和经过身份验证的用户提供了对基于cookie和会话的消息传递的完全支持。messages框架允许您在一个请求中临时存储消息,并检索它们以在后续请求(通常是下一个请求)中显示。每条消息都有一个确定优先级的特定级别(例如,info、warnin...

菲宇运维 5642

全志T113s3主线linux开发(0)--基础准备

嵌入式Linux设备的启动大概是三步:1)启动芯片+内存:常见的是Uboot,不过全志的Uboot主线对SPI NAND 不太友好,用TF卡就方便。对于T113S芯片,推荐使用Awboot,简陋但快速。开发阶段用这个就方便好多,对SPINAND支持也方便。2)启动linux内核:主线内核以下通篇都用6.13以上的内核。对比tina5.0还在用5.4 ,主要是性能、安全上有变化。6.0以上内核在devicetree的编写具体格式上有了变化,网上大量tina5.0和5.4内核的编写方式不适用。

2301_79234138的博客 2246

Truncated SVD for faster dection

Truncated SVD方法最先被提出在《Fast R-CNN》论文中,用于降低全连接层的运算量,提升模型的速度。在卷积神经网络的分类任务中,FC层的运算速度远远大于CONV层,而在Fast R-CNN的目标检测任务中,大多数的运算时间发生在FC 的运算中,是因为针对每张输入图片,只进行一次卷积操作,而要对生成的Region Proposal,大致两千个,进行全连接操作进行分类与Bounding...

weixin_35747666的博客 1535

Django Messages

Django提供了基于Cookie和Session的消息框架,无论是匿名还是认证的用户。消息框架允许临时将消息存储在请求中,并在其后的下一个请求中提取并显示。每个消息都会带有一个特定消息级别的标签以表示优先级。 消息存储 消息框架支持使用不同的后端存储来存储临时消息,Django在django.contrib.messages类中提供了三个内建的存储类。 存储类 描述 storage...

JunChow 782

从光耦隔离到稳定驱动:信捷伺服与STM32的硬件设计陷阱与救赎

本文深入探讨了信捷伺服驱动器与STM32微控制器配合时的硬件设计关键问题,包括光耦隔离电路选型、电源电压选择、拨码开关设置等核心环节。针对伺服驱动器的稳定驱动需求,提供了从电路设计到抗干扰策略的完整解决方案,帮助工程师规避常见陷阱,提升工业控制系统的可靠性。

gold8的专栏 310

Django 笔记之 Message 消息框架

用户提交表单后应用给予的反馈就是 消息 messages; 这是一个基于 cookie 和 session 的消息框架; 文章目录安装配置存储后端消息等级消息标签使用增加显示自定义额外标签静默失效消息类视图消息到期 安装 默认 Setting 已使能 包: django.contrib.messages 中间件: django.contrib.sessions.middleware.Sessi...

锐博客 1446

博流BL602开发二 环境搭建与固件烧录实战

本文详细介绍了博流BL602 RISC-V芯片开发环境的搭建与固件烧录全流程。从Linux/WSL系统选择、RISC-V工具链配置、SDK获取,到编译首个Wi-Fi示例并生成固件镜像,再到通过命令行或图形化工具完成烧录及串口测试,提供了完整的实战指南和常见问题解决方案。

weixin_29175469的博客 449

把入库交货单的 GOS 附件自动带进审批 Work Item:用 SOFM 对象打通 SAP Workflow 附件链路

本文介绍了一种在SAP ECC系统中将入库交货单的GOS附件自动附加到Workflow审批项中的解决方案。通过使用BOR对象引用列表和SOFM业务对象,审批人可直接在Work Item中查看附件,无需返回原单据界面。文章详细阐述了从BUS2015业务对象获取附件连接、转换LOIO_ID为SOFM对象引用,并将附件列表绑定到User Decision步骤的具体实现方法。该方案适用于经典SAP Business Workflow+BOR架构,核心ABAP代码可直接复用,有效解决了审批流程中的附件可见性问题。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 246

Django 2.1.7 使用内置messages显示通知消息

需求 在Web应用程序中,有时候需要在处理表单或其他类型的用户输入后向用户显示一次性通知消息(也称为“flash消息”),例如:用户注册成功、订单提交完成等信息。 为此,Django为匿名和经过身份验证的用户提供对基于cookie和session存储数据的消息传递框架。该消息框架允许将消息临时存储在一个请求中并检索它们以便在后续请求(通常是下一个请求)中显示。每个消息被标记以特定的...

DevOps海洋的渔夫@专栏 1994

基于FPGA的超声成像算法的硬件设计

顶层设计如下图: 1. Verilog的硬件设计型号是 ALTERA 2.数据的输入量已经给出,附上的四个矩阵输入都要实现。 3.波束形成部分要在FPGA上完成,最后的matlab的代码部分只是获取数据后的图像显示 4.不需要动态聚焦,只是完成固定的四个不同输入数据的显示即可 5.不需要实物,但要实现硬件的仿真,要有相应的模块图和结构图,类似如下 具体实现过程和最终结果如下: 定义aperture(孔径)大小————输入量,数据已给出,一共四个规格的ape...

FPGA/MATLAB学习教程/源码/项目合作开发 1万+

Django消息框架

当用户与平台进行交互时,用户可能希望告知他们操作的结果。Django有一个内置消息框架,允许你向用户显示一次性通知。

旁门贰号 831

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

django框架下 messages方法详解 弹窗功能的实现

django框架下 messages方法详解 弹窗功能的实现

我乃技术小白,欢迎大神交流 4888

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Django中message显示

使用前的准备 这是系统自带的模块,因此倘若你没对settings.py文件没做过什么修改,否则保证下面的字段存在即可; INSTALLED_APPS { ​ ... ​ 'django.contrib.messages', ​ ... } MIDDLEWARE_CLASSES中 { ​ ... ​ 'django.contrib.sessions....

xbean1028的博客 1919

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

消息框架 message

在网页应用中,我们经常需要在处理完表单或其它类型的用户输入后,显示一个通知信息给用户。 对于这个需求,Django提供了基于Cookie或者会话的消息框架messages,无论是匿名用户还是认证的用户。这个消息框架允许你临时将消息存储在请求中,并在接下来的请求(通常就是下一个请求)中提取它们并显示。每个消息都带有一个特定的level标签,表示其优先级(例如info、 warning或error)...

weixin_30848775的博客 398

Django实现简单网页弹出警告

Django实现简单网页弹出警告 方法一:messages 1.该功能运用了django.contrib.messages这个库,先验证在django项目的setting.py文件中APP注册部分是否存在这个库 在项目中导入库 fromdjango.contrib importmessages defuserlogin(request): m = Account...

与君共勉 1万+

Django Messages Extends 常见问题解决方案

Django Messages Extends 常见问题解决方案 项目基础介绍 Django Messages Extends 是一个开源项目,它扩展了 Django 内置的消息框架(django.contrib.messages)。该项目为 Django 的消息系统增加了粘性消息(sticky messages)和持久消息(persistent messages)功能,以及支持多种存储后端。它允...

gitblog_00057的博客 1132

django中的MESSAGE组件

【设置】中间件process_request加载,创建一个MESSAGE对象的实例(settings中配置的MESSAGE_STORAGE不同创建不同实例)在后页面视图中读取值(读取值的同时,将值替换为本页面的message值,如果没有没有就为空列表)【新页面】在视图函数或模板中读取message中的信息(老的数据源加载的+新增的)【设置】在视图函数中往message中写入值(此时数据保存在内存中的列表中)若有错误与不足请指出,关注DPT一起进步吧!【设置】中间件process_response。

m0_66925868的博客 734

Django - messages(使用消息提示简单的弹出个对话框)

目录一、配置二、创建提醒消息三、跳出弹窗 一、配置 在项目的settings.py文件中配置django.contrib.messages的相关信息(默认是有的) INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'djan...

程序猿杂记 1万+

Django的contrib模块介绍

Django的contrib模块介绍

昊虹AI笔记 1814

Django项目之订单管理part6(message组件和组合搜索组件)

我们这样就把所有的展示功能以及数据库的全部功能实现了,现在就只差worker和上传服务器,这里下一节再讲,把这里全部都和大家梳理一下。权限和菜单动态菜单,不同用户角色【配置文件】- 配置文件,写配置用户级别配置 + 默认配置- 构造属于自己的结构:权限、菜单字典。- 数据库获取用户角色默认选中和展开权限校验- 中间件- request.nb_user 赋值控制按钮是否显示- filter,可以模板语言中的if else的条件基于Form和ModelForm实现增删改查。

一起进步 1028

Django MessageMiddleware 消息框架实践指南

本文介绍了Django消息框架的核心机制、配置与使用。消息框架通过中间件实现消息的存储与传递,支持在视图层添加消息并在模板层渲染显示。

YAnt的博客 1277

远程工作风险管理终极指南:如何避免10大常见陷阱

远程工作正成为越来越多人的选择,但随之而来的风险也需要认真对待。作为 gh_mirrors/re/remote-working 项目框架的重要部分,风险管理是确保远程工作可持续性的关键环节。本文将从法律合规、财务安全、团队协作等多个维度,为你提供完整的远程工作风险管理解决方案。 ## 🔍 远程工作面临的主要风险类型 ### 法律合规风险 远程工作最大的隐患往往来自法律层面。根据 issues

gitblog_00151的博客 1030
上一篇: web性能测试工具ab
下一篇: mysql 设置远程连接
watsy
博客等级 码龄19年 133粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值