1.获取我的消息,将我的消息标记为已读,删除我的消息
1.在apps/user_operation新建序列化类serializers.py备用:
from rest_framework import serializers
from .models import Message,GetPrize,UserAdress,Fans,MakeMoney,GetCash
class MessageModelSerializer(serializers.ModelSerializer):
class Meta:
model = Message
fields="__all__"
class GetPrizeModelSerializer(serializers.ModelSerializer):
class Meta:
model = GetPrize
fields="__all__"
class UserAdressModelSerializer(serializers.ModelSerializer):
class Meta:
model = UserAdress
fields="__all__"
class FansModelSerializer(serializers.ModelSerializer):
class Meta:
model = Fans
fields="__all__"
class MakeMoneyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MakeMoney
fields="__all__"
class GetCashModelSerializer(serializers.ModelSerializer):
class Meta:
model = GetCash
fields="__all__"
2.在apps/user_operations/views.py中:
from django.shortcuts import render,HttpResponse
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.renderers import JSONRenderer,BrowsableAPIRenderer
from gg.settings import HOST
from datetime import datetime
from users.models import UserProfile
from .serializers import MessageModelSerializer
from .models import Message
# Create your views here.
class GetMessage(APIView):
"""
获取消息
"""
renderer_classes = [JSONRenderer] # 渲染器
def get(self,request):
token = request.GET.get('token')
user = UserProfile.objects.filter(token=token).first()
if user:
msg_list=Message.objects.filter(user=user).order_by('-add_time')
msg=MessageModelSerializer(msg_list,many=True)
return Response(msg.data)
else:
return HttpResponse('参数不足')
class ReadMessage(APIView):
"""将消息标记为已读"""
renderer_classes = [JSONRenderer] # 渲染器
def get(self,request):
token = request.GET.get('token')
user = UserProfile.objects.filter(token=token).first()
if user:
msg_list=Message.objects.filter(user=user,is_read=False)
for item in msg_list:
item.is_read=True
item.save()
return Response(200)
else:
return HttpResponse('参数不足')
class DelMessage(APIView):
"""删除消息"""
renderer_classes = [JSONRenderer] # 渲染器
def get(self,request):
token = request.GET.get('token')
user = UserProfile.objects.filter(token=token).first()
msg_id=request.GET.get('msgid')
if user and msg_id:
msg_id=int(msg_id)
Message.objects.filter(id=msg_id).delete()
return HttpResponse(200)
else:
return HttpResponse('参数不足')
3.在apps/user_operations目录下新建urls.py:
from django.urls import path
from .views import GetMessage,ReadMessage,DelMessage
urlpatterns = [
path('getmessage/',GetMessage.as_view()),
path('readmessage/',ReadMessage.as_view()),
path('delmessage/',DelMessage.as_view()),
]
4.在gg/urls.py中配置:
#……
urlpatterns = [
#……
path('useroperation/',include('user_operation.urls'))
]