zoukankan      html  css  js  c++  java
  • 广告小程序后端开发(14.个人中心:获取我的消息,将我的消息标记为已读,删除我的消息)

    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'))
    ]
  • 相关阅读:
    most-wanted-letter
    non-unique-elements
    python组建之paramiko的简介和简单使用
    Android平台使用termux,随时随地写代码
    发现生活中数学的美,然后记录下来
    别再用Microsoft Office,改为WPS或者Latex
    office2016 vol 中文版本
    Office 2016 英文版(VOL版)下载
    选择好用的生产力工具
    使用windows(win7和win10),最好用chocolatey
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/10975847.html
Copyright © 2011-2022 走看看