在做web系统的时候,我们需要针对一些操作的结果要进行提示信息给用户,如“××××保存成功!”,“××××出现错误!”。
在基于mvc的模型的框架下,我们可以采用flash message的方式。
以前在用web2py框架的时候,主要写:
response.flash = '订购%s成功'% foods[0].name
就会自动在上方提示response.flash的信息。
一.Django admin的提示信息
但是django没有flash,我们在使用django admin的时候,我们也看到了保存了一个对象成功后,会在列表的上方出现提示信息,这是如何做到的呢?
查看其源码,我么可以看到:
request.user.message_set.create(message="Your playlist was added successfully.")
在template中增加如下代码:
{% if messages %}
<ul class="messagelist">
{% for message in messages %}
<li>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
在设置一下messagelist央视,就达到了和django admin一样的提示信息效果。
但是这种提示信息,需要依赖request.user,如果没有进行登录,则无法实现。
具体查看django document:
http://docs.djangoproject.com/en/dev/topics/auth/#messages
二.Flash Message Template Tag
接下来我们使用Flash Message Template Tag来实现。
具体实现方式查看Flash Message Template Tag的文档。
http://www.djangosnippets.org/snippets/319/
注意:django最新版本中需要修改其中的一段代码:
原文中的57-58的代码修改如下:
if ret is not None:
context.update(ret)
return self.nodelist.render(context)
你可以将
>>>request.session['flash_msg'] = 'Your changes have been save'
>>>request.session['flash_params'] = {'type': 'success'}
封装的使用更友好一点如:
#coding=utf-8
def add_msg(request,msgtype,msg):
request.session["flash_msg"] = msg
request.session["flash_params"] = {'type': msgtype}
def add_success_msg(request,msg):
add_msg(request,'success',msg)
def add_error_msg(request,msg):
add_msg(request,'error',msg)
这样你就可以:
flash.add_success_msg(request,'保存成功!')
flash.add_error_msg(request,e.msg)
就可以实现了Flash Message.
分享到:
相关推荐
在实际开发中,这样的测试可以帮助开发者验证Flash内容是否正确加载和运行,同时也可以用来调试Flash与Django之间的数据交互问题。 ### 总结 Django与Flash的结合使得Web开发可以充分利用两者的优点,创造出既有...
`django_flash`库的版本1.6.1-py2.4.egg是一个针对Python 2.4编译的压缩包,它使得在Django项目中优雅地管理“flash”消息变得轻而易举。在Web开发中,"flash"消息通常指的是那些在用户交互之间短暂显示的信息,如...
python库。 资源全名:django_flash-1.5.2-py2.5.egg
【标题】"轻量级Flash服务器开发框架:Django"所指的知识点主要围绕着Django框架和其在Flash服务器开发中的应用。Django是一个基于Python的开源Web框架,它遵循模型-视图-控制器(MVC)架构模式,旨在简化高效、可...
django4最新中文文档+适合python初学或者初次接触django4的开发者 从事Python编程工作的人员,一定听说过这三个框架:Django、Flask、Tornado,它们就像神一样的存在 Django是最有代表性的一种。许多成功的网站和APP...
django中文文档的介绍,django 官方文档说明 django 官方文档说明 django 官方文档说明
本篇将深入探讨Django 4.0官方中文文档中的关键知识点。 1. **快速入门**:官方文档首先会介绍如何快速搭建Django环境,包括安装步骤、创建项目和应用、数据库配置等基础操作。新手开发者可以通过这些章节迅速上手...
Django 文档¶ 你所需要知道的关于 Django 的一切。 快速入门¶ 你是刚学 Django 或是初学编程? 这就是你开始学习的地方! 从零开始: 概要 | 安装 入门教程: 第 1 节:请求和响应 | 第 2 节:模型和管理站点 | ...
13. Django中的安全问题:详细介绍了Django中的安全特性,包括防止常见的网络攻击手段,如点击劫持、跨站请求伪造(CSRF)等。 14. 异常处理:文档提供了一些常用的异常处理方法和策略。 15. 应用程序概览:解释了...
Django-Flash Django-Flash 是一个简单的 Django 扩展,它为类似的flash消息提供支持。 flash是一种类似于 Python 字典的临时存储机制,因此您可以存储与键关联的值,然后再检索它们。 它有一个特殊的属性:默认...
- **安装Django**:详细介绍如何在本地环境中安装Django,包括Python环境的配置以及Django的安装步骤。 - **创建第一个项目**:指导如何创建一个简单的Django项目,并解释项目结构及各个部分的作用。 - **运行服务器...
这部分文档可能涵盖了 Django 模板语言的基本语法、内置标签和过滤器,以及如何在模板中操作数据。 6. **模块索引(py-modindex.html)** - 这是 Django 源代码的模块索引,对深入理解 Django 内部工作原理非常有...
最强最齐全的Django开发文档,对于很多想从事学习Django Web开发的很多人而言,Django一直没有官方的中文文档是个弊端。而且Django更新较快,国内很多翻译版本都太滞后了。现在小编我告诉大家一个好消息!! Django...
Django中文手册Django中文手册Django中文手册Django中文手册Django中文手册
2022年2月18日,Django 版本已经到了4.0.3 ,这是最新的中文官方文档,网页版的,可以直接本地查看的。网上貌似最新的是 Django 2.1版本的官方文档,做成电子书,Django每个版本差异较大,最好看最新的,相信有关...
首先,文档中提到了如何快速安装Django,这对于初学者来说是最基础也是最关键的一步。Django可以通过Python包管理器pip进行安装,并且官方提供了详细的安装指南,包括如何设置数据库和其他依赖项。文档还引导读者...
Django的中间件(Middleware)是一系列钩子,可以插入到请求和响应处理流程中,实现全局的功能扩展,如日志记录、性能监控等。此外,Django的Admin界面是一个强大的后台管理系统,通过简单的配置,即可自动生成用于...
Django旨在简化Web开发过程,它处理了Web开发中很多常见的问题,为开发者提供了快捷方式,使得开发过程更加高效。 #### Django的核心功能 - **重用性**:Django提供了一套丰富的内置组件,可用于处理如用户认证、...
在Django项目中,URLs通常在应用的urls.py文件中定义,并将URL模式映射到相应的视图函数。 7. 列表视图的分页:在处理大量数据时,分页功能是必不可少的。Django提供了分页工具,允许开发者将列表视图分割成多个...
在 Django 中,模型是数据的蓝图,对应数据库中的表。模型类定义了字段(如 CharField、IntegerField)和行为。Django 自动提供了 ORM(对象关系映射),使得通过 Python 代码操作数据库变得简单。在 Django 1.8.2 ...