经典的地方
C:\Users\hlg\PycharmProjects\MxOnline\apps\users\models.py
def unread_nums(self):
# 获取用户未读消息的数量
from operation.models import UserMessage
return UserMessage.objects.filter(user=self.id).count()
调用
<a href="usercenter-message.html">
<div class="msg-num"><span id="MsgNum">{{ request.user.unread_nums }}</span></div>
</a>
class MyMessageView(LoginRequiredMixin, View):
"""
我的消息
"""
def get(self, request):
# all_messages = UserMessage.objects.all()
all_messages = UserMessage.objects.filter(user=request.user.id)
# 对我的消息进行分页
try:
page = request.GET.get('page', 1)
except PageNotAnInteger:
page = 1
# 一定要3个参数,不然报错
p = Paginator(all_messages, 5, request=request)
messages = p.page(page)
return render(request, 'usercenter-message.html',{
"messages":messages
})
C:\Users\hlg\PycharmProjects\MxOnline\templates\usercenter-message.html
{% extends 'usercenter-base.html' %}
{% block title %}我的消息- 慕学在线网{% endblock %}
{% load staticfiles %}
{% block custom_bread %}
<section>
<div class="wp">
<ul class="crumbs">
<li><a href="{% url 'index' %}">首页</a>></li>
<li><a href="/user/home/">个人中心</a>></li>
<li>我的消息</li>
</ul>
</div>
</section>
{% endblock %}
{% block right_content %}
<div class="right" >
<div class="personal_des Releasecont">
<div class="head">
<h1>我的消息</h1>
</div>
</div>
<div class="personal_des permessage">
<div class="head">
<ul class="tab_header messagehead">
<li class="active"><a href="/user/message/">个人消息</a> </li>
</ul>
</div>
<div class="messagelist">
{% for message in messages.object_list %}
<div class="messages">
<div class="fr">
<div class="top"><span class="fl time">{{ message.add_time }}</span><span class="fr btn foldbtn"></span></div>
<p>
{{ message.message }}
</p>
</div>
</div>
{% endfor %}
</div>
<div class="pageturn pagerright">
<ul class="pagelist">
{% if messages.has_previous %}
<li class="long"><a href="?{{ messages.previous_page_number.querystring }}">上一页</a></li>
{% endif %}
{% for page in messages.pages %}
{% if page %}
{% ifequal page messages.number %}
<li class="active"><a href="?{{ page.querystring }}">{{ page }}</a></li>
{% else %}
<li><a href="?{{ page.querystring }}" class="page">{{ page }}</a></li>
{% endifequal %}
{% else %}
<li class="none"><a href="">...</a> </li>
{% endif %}
{% endfor %}
{% if messages.has_next %}
<li class="long"><a href="?{{ messages.next_page_number.querystring }}">下一页</a></li>
{% endif %}
</ul>
</div>
</div>
</div>
{% endblock %}
效果图: