Django中提示消息messages的设置方式

yipeiwu_com7年前Python基础

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 %}

以上这篇Django中提示消息messages的设置方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

解决安装python3.7.4报错Can''t connect to HTTPS URL because the SSL module is not available

简述 从官网下载了Python3.7.4,直接编译安装后,使用pip3出现了报错信息: Can't connect to HTTPS URL because the SSL module...

Python re 模块findall() 函数返回值展现方式解析

findall 函数: 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall...

Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

Python机器学习k-近邻算法(K Nearest Neighbor)实例详解

本文实例讲述了Python机器学习k-近邻算法。分享给大家供大家参考,具体如下: 工作原理 存在一份训练样本集,并且每个样本都有属于自己的标签,即我们知道每个样本集中所属于的类别。输入没...

python实现BP神经网络回归预测模型

python实现BP神经网络回归预测模型

神经网络模型一般用来做分类,回归预测模型不常见,本文基于一个用来分类的BP神经网络,对它进行修改,实现了一个回归模型,用来做室内定位。模型主要变化是去掉了第三层的非线性转换,或者说把非线...

python networkx 根据图的权重画图实现

python networkx 根据图的权重画图实现

首先输入边和边的权重,随后画出节点位置,根据权重大小划分实边和虚边 #coding:utf-8 #!/usr/bin/env python """ An example using...