1. 引入messages模块

1 from django.contrib import messages

2. 把messages写入view中

 1 @csrf_exempt
2 def search(request):
3 if request.method == 'GET':
4 bookname = request.GET.get('bookname')
5 bookinfo = Book.objects.filter(bookname=bookname)
6 is_staff = request.user.is_staff
7 username = request.user.username
8 gonggao = Gonggao.objects.all().order_by("-c_time")
9 liuyanban_all = liuyan.objects.all().order_by("-c_time")
10 c2 = JieInfo.objects.filter(u_name=username, book_name=bookname)
11 c3 = JieInfo.objects.filter(u_name=username).count()
12 if username == '':
13 messages.error(request, '亲,请您先登录,才能使用该功能。')
14 return redirect('/')
15 else:
16 if bookname == '':
17 messages.error(request, '亲,搜索内容不能为空哦。')
18 return redirect('/')
19 elif c2.exists():
20 messages.error(request, '对不起,您不能再次借阅该图书了。')
21 return redirect('/')
22 elif c3 == 5:
23 messages.error(request, '对不起,您将超出图书馆借阅图书数量限制。')
24 return redirect('/')
25 else:
26 if bookinfo.exists():
27 return render(request, "systeam/searched.html",
28 {'bookinfo': bookinfo, 'username': username, 'is_staff': is_staff})
29 else:
30 messages.error(request, '亲,没有这本书呢。')
31 return redirect('/')
32 else:
33 return render(request, "systeam/searched.html", {'username': username})

3. 把messages渲染到页面中

 1 {% if messages %}
2
3 <ul class="messages">
4
5 {% for message in messages %}
6
7
8 <li{%if message.tags %} class="{{ message.tags }}"{% endif %}>
9 <div class="m_title">
10 {{ message.tags }}
11 <a href="" id="a_tuichu">
12 <i class="iconfont icon-fork"></i>
13 </a>
14 </div>
15 <div id="m_box">
16 {{ message }}
17 </div>
18 <a href="" id="a_sure">
19 <button id="button_sure">
20 确认
21 </button>
22 </a>
23 </li>
24
25 {% endfor %}
26
27 </ul>
28
29 {% endif %}

最新文章

  1. 自己写的基于bootstrap风格的弹框插件
  2. 黑马程序员_ Objective-c 之block、protocol学习笔记
  3. IOS设计模式-观察者模式
  4. Mybatis+struts2+spring整合
  5. mysql常用脚本
  6. IOS多线程的小总结
  7. linux的exec命令
  8. elasticsearch 修改内存
  9. MYSQL异常和错误机制
  10. React--JSX语法
  11. 201521123091 《Java程序设计》第5周学习总结
  12. spark算子:combineByKey
  13. java学习-- String
  14. Elastic Stack之ElasticSearch分布式集群二进制方式部署
  15. hadoop 单机模式 伪分布式 完全分布式区别
  16. Problem E: 用链表实现约瑟夫环
  17. (Linux)动态度的编写
  18. histoty显示时间戳
  19. 开启Virtualization Technology
  20. FlowPortal-BPM——基础知识

热门文章

  1. 拨开由问题《linux下malloc最大可申请的内存》带来的重重疑云
  2. 「后端小伙伴来学前端了」Vuex进阶操作,让你的代码更加高效(简称如何学会偷懒 【手动狗头】)
  3. 动画录屏软件-LICEcap
  4. DataGrid首次进入页面时,不加载任何数据[转]
  5. 从一个小Bug,到Azure DevOps
  6. GIT Bash 简单讲解-git如何推/拉代码
  7. AtCoder Regular Contest 127 题解
  8. pcm-pcie 解析
  9. [R] 如何快速生成许多差异明显的颜色?
  10. 【宏组学】如何根据taxid(或taxname)快速获得taxname(或taxid)?