Django中提示消息messages的设置方式
作者:查理·布朗 发布时间:2021-08-14 20:40:51
标签:Django,提示消息,messages
1. 引入messages模块
from django.contrib import messages
2. 把messages写入view中
@csrf_exempt
def search(request):
if request.method == 'GET':
bookname = request.GET.get('bookname')
bookinfo = Book.objects.filter(bookname=bookname)
is_staff = request.user.is_staff
username = request.user.username
gonggao = Gonggao.objects.all().order_by("-c_time")
liuyanban_all = liuyan.objects.all().order_by("-c_time")
c2 = JieInfo.objects.filter(u_name=username, book_name=bookname)
c3 = JieInfo.objects.filter(u_name=username).count()
if username == '':
messages.error(request, '亲,请您先登录,才能使用该功能。')
return redirect('/')
else:
if bookname == '':
messages.error(request, '亲,搜索内容不能为空哦。')
return redirect('/')
elif c2.exists():
messages.error(request, '对不起,您不能再次借阅该图书了。')
return redirect('/')
elif c3 == 5:
messages.error(request, '对不起,您将超出图书馆借阅图书数量限制。')
return redirect('/')
else:
if bookinfo.exists():
return render(request, "systeam/searched.html",
{'bookinfo': bookinfo, 'username': username, 'is_staff': is_staff})
else:
messages.error(request, '亲,没有这本书呢。')
return redirect('/')
else:
return render(request, "systeam/searched.html", {'username': username})
3. 把messages渲染到页面中
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{%if message.tags %} class="{{ message.tags }}"{% endif %}>
<div class="m_title">
{{ message.tags }}
<a href="" id=" rel="external nofollow" rel="external nofollow" a_tuichu">
<i class="iconfont icon-fork"></i>
</a>
</div>
<div id="m_box">
{{ message }}
</div>
<a href="" id=" rel="external nofollow" rel="external nofollow" a_sure">
<button id="button_sure">
确认
</button>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
来源:https://www.cnblogs.com/zihao1037/p/11037801.html


猜你喜欢
- 本文实例讲述了Python面向对象之反射/自省机制。分享给大家供大家参考,具体如下:反射:程序可以访问,检测和修改它本身状态或行为的一种能力
- ROW_NUMBER() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据
- 一、临时表实现分步处理1.概述当需要的结果需要经过多次处理后才能最终得到我们需要的结果时,就可以使用临时表,这里临时表就起到了一个中间处理的
- 递归是一种较为抽象的数学逻辑,可以简单的理解为「程序调用自身的算法」。 * 对递归的解释是:递归(英语:Recursion),又译为递回,
- QQ影音新版发布官网Banner经过两周的酝酿、脑爆与设计调整,于20日顺利上线,连续7天,经历了昨天激动人心的最后发布,到此告一段落,这里
- 目录一、为什么要用线程池二、线程池练习演示例子1:使用submit方法演示例子2:使用map方法三、线上数据库测试总结:一、为什么要用线程池
- 1.新建site-packages目录,进入到site-packages目录下;2.在site-packages目录下执行pip freez
- 这里给大家分享的是使用python实现将100以内的质数挑选出来代码非常简单,就不多废话了。"""使用filt
- 在 JavaScript 中,可以用 instanceof 来判断一个对象是不是某个类或其子类的实例。比如:// 代码
- Scrapy批量运行爬虫文件的两种方法:1、使用CrawProcess实现https://doc.scrapy.org/en/latest/
- Go操作MySQL安装: go get -u github.com/go-sql-driver/mysqlGO语言的操作数据库的驱动原生支持
- LNMP一键包安装的Mysql默认开启Mysql日志,如果网站对数据库读写较为频繁的话可能会产生大量日志,并占用磁盘空间,还有可
- 前言2017年12月2日,Django官方发布了2.0版本,成为多年来的第一次大版本提升,那么2.0对广大Django使用者有哪些变化和需要
- 信息交换用汉字编码字符集-基本集 汉字标准交换码共分两级。第一级为常用字,有3755字,按汉语拼音字母顺序排列,第二级为次常用字,有3008
- 背景本文主要给大家介绍了关于在Python一段程序中使用多次事件循环的相关内容,我们在Python异步程序编写中经常要用到如下的结构impo
- 1、获取秒级时间戳与毫秒级时间戳、微秒级时间戳import timeimport datetimet = time.time()print
- 前言之前我们在路由匹配的时候,一个url对应一个函数,其实我们还可以一个url对应一个类,这个就是CBV,下面我们来简单的介绍一下CBV一、
- 使用了Python的 xml.etree.ElementTree 库xml.etree.ElementTree 库简介xml.etree.E
- 关于浏览器的最离奇的统计结果之一就是Internet Explorer 版本6,7和8共存。截至本文,Internet Explorer各个
- 引言之前在看 CAP 定理时抱有很大的疑惑,CAP 定理的定义是指在分布式系统中三者只能满足其二,也就是存在分布式 CA 系统的。在网络上查