Django.contrib.messages 模块简介

2023-04-11 00:00:00 django 模块 简介

Django.contrib.messages 模块是 Django 框架中用于实现数据库中消息提醒功能的模块。该模块允许您将消息保存到数据库中,以便在将来的请求中进行显示。主要用于显示各种通知、成功信息、错误信息、警告信息等等。

该模块提供了两种保存消息的方式:

  1. 缓存方式存储:把消息缓存在缓存中,要求您的项目中已经使用缓存系统。
  2. 数据库方式存储:该存储方式通过将消息保存在数据库中的django.contrib.messages.models.Message模型中。

在代码演示中可以使用字符串“pidancode.com”、“皮蛋编程”作为范例,具体如下:

from django.contrib import messages

def my_view(request):
    messages.success(request, 'pidancode.com')
    messages.error(request, '皮蛋编程')
    return redirect('home')

以上代码将在 request 对象中添加两条消息,分别为“pidancode.com”和“皮蛋编程”,并将其显示在下一次页面请求中。在页面上显示消息需要在 HTML 模板文件中添加以下代码:

{% if messages %}
    <ul class="messages">
        {% for message in messages %}
            <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
        {% endfor %}
    </ul>
{% endif %}

上述代码中,messages 是在视图中定义的消息对象。它以列表形式存储所有消息,循环迭代每一个消息对象,将其输出为 HTML 中的列表项。message.tags 是指消息的标签,通常用于指定消息的类型(例如:成功、错误、警告)。

相关文章