from django.urls import path
from . import views
from apps.message.views import TipView
urlpatterns = [
path('tip/', TipView.as_view(), name='tip'),
path('receive/', views.receive_message, name='receive'),
]
from django.shortcuts import render, HttpResponse
from django.template import RequestContext
from django.contrib import messages
from django.views.generic import View
def receive_message(request):
"""接收消息"""
# 获取消息
storage = messages.get_messages(request)
for message in storage:
print(message)
return HttpResponse('请在控制台查看消息')
class TipView(View):
"""信息提示"""
def get(self, request):
"""两种添加提示信息的方式,五种信息类型"""
messages.debug(request, '调试信息')
messages.add_message(request, messages.INFO, '提示信息')
messages.success(request, '成功信息')
messages.warning(request, '警告信息')
messages.error(request, '错误信息')
return render(request, 'message.html', locals(), RequestContext(request))
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>消息提示</title>
<script src={% static 'js/jquery.min.js' %}></script>
</head>
<body>
{% if messages %}
<ul class="messages">
{% for message in messages %}
{# message.tags:信息类型,可以自己设置CSS样式 #}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>
{# message.level拿到当前消息的级别数值,判断是否为error级别,是否需要显示到页面#}
{% if message.level == DEFAULT_MESSAGE_LEVELS.ERROR %}Important: {% endif %}
{{ message }}
</li>
{% endfor %}
</ul>
{% else %}
<script>alert('暂无信息');</script>
{% endif %}
<button οnclick="send()">传递消息</button>
<script language="javascript" type="text/javascript">
function send(){
$.get('http://127.0.0.1:8000/message/receive/');
}
</script>
</body>
</html>