zoukankan      html  css  js  c++  java
  • 广告小程序后端开发(15.积分商城:获取积分商品列表,获取积分商品详情)

    1.获取积分商品列表

    1.在apps/ad/views.py内新建获取积分商品列表类:

    class GetPrize(APIView):
        """
        获取奖品
        """
        renderer_classes = [JSONRenderer]  # 渲染器
    
        def get(self,request):
            token = request.GET.get('token')
            page = request.GET.get('page')
            sheng = request.GET.get('sheng')
            shi = request.GET.get('shi')
            xian = request.GET.get('xian')
            user = UserProfile.objects.filter(token=token).first()
            if user and page:
                page=int(page)
                if sheng:
                    # 全省
                    num = Area.objects.filter(name=sheng).first().num
                    re_list = Prize.objects.filter(area__num__gt=num,area__num__lt=(num+10000)).order_by('-add_time')[0:(10 * page)]
                    re=PrizeModelSerializer(re_list,many=True)
                    return Response(re.data)
                elif shi:
                    # 全市
                    num = Area.objects.filter(name=shi).first().num
                    # print(num)
                    re_list = Prize.objects.filter(area__num__gte=num, area__num__lt=(num + 100)).order_by('-add_time')[0:(10 * page)]
                    re = PrizeModelSerializer(re_list, many=True)
                    return Response(re.data)
                elif xian:
                    # 全县
                    num = Area.objects.filter(name=xian).first().num
                    # print(num)
                    re_list = Prize.objects.filter(area__num=num).order_by('-add_time')[0:(10 * page)]
                    re = PrizeModelSerializer(re_list, many=True)
                    return Response(re.data)
                else:
                    re_list = Prize.objects.all().order_by('-add_time')[0:(10 * page)]
                    re = PrizeModelSerializer(re_list, many=True)
                    return Response(re.data)
            else:
                return HttpResponse('参数不足')

    2.在apps/ad/urls.py内配置路由:

    from django.urls import path
    from .views import GetCategory,CreateAdOrShop,UpLoadImg,GetPubGoods,GetGoodDesc,GetUserGoods,DelUserGood,EditGood,DelImg,GetPrize
    
    urlpatterns = [
        path('getcategory/',GetCategory.as_view()),
        path('createadorshop/',CreateAdOrShop.as_view()),
        path('uploadimg/',UpLoadImg.as_view()),
        path('getpubgoods/',GetPubGoods.as_view()),
        path('getgooddesc/',GetGoodDesc.as_view()),
        path('getusergoods/',GetUserGoods.as_view()),
        path('delusergood/',DelUserGood.as_view()),
        path('editgood/',EditGood.as_view()),
        path('delimg/',DelImg.as_view()),
        path('getprize/',GetPrize.as_view()),
    ]

    2.获取积分奖品详情

    1.在apps/ad/views.py中新建GetPrizeDesc类:

    class GetPrizeDesc(APIView):
        """
        获取奖品详情
        """
        renderer_classes = [JSONRenderer]  # 渲染器
    
        def get(self, request):
            token = request.GET.get('token')
            id=request.GET.get('prizeid')
            user = UserProfile.objects.filter(token=token).first()
            if user and id:
                id=int(id)
                re_obj=Prize.objects.filter(id=id).first()
                re=PrizeModelSerializer(re_obj)
                return Response(re.data)
            else:
                return HttpResponse('参数不足')

    2.在apps/ad/urls.py内配置路由

    from django.urls import path
    from .views import GetCategory,CreateAdOrShop,UpLoadImg,GetPubGoods,GetGoodDesc,GetUserGoods,DelUserGood,EditGood,DelImg,GetPrize,GetPrizeDesc
    
    urlpatterns = [
        path('getcategory/',GetCategory.as_view()),
        path('createadorshop/',CreateAdOrShop.as_view()),
        path('uploadimg/',UpLoadImg.as_view()),
        path('getpubgoods/',GetPubGoods.as_view()),
        path('getgooddesc/',GetGoodDesc.as_view()),
        path('getusergoods/',GetUserGoods.as_view()),
        path('delusergood/',DelUserGood.as_view()),
        path('editgood/',EditGood.as_view()),
        path('delimg/',DelImg.as_view()),
        path('getprize/',GetPrize.as_view()),
        path('getprizedesc/',GetPrizeDesc.as_view()),
    ]
  • 相关阅读:
    MySQL教程(四)—— MySQL的登录与退出
    MySQL教程(三)—— MySQL的安装与配置
    django中使用POST方法报错 URL via POST, but the URL doesn't end in a slash
    django的html模板中获取字典的值
    使用pycharm手动搭建python语言django开发环境(五) 使用日志模块打日志
    使用pycharm手动搭建python语言django开发环境(四) django中buffer类型与str类型的联合使用
    python语言 buffer类型数据的使用 'ascii' codec can't decode byte 0xe5 问题的解决
    使用pycharm手动搭建python语言django开发环境(三) 使用django的apps应用 添加应用静态文件
    使用pycharm手动搭建python语言django开发环境
    使用pycharm手动搭建python语言django开发环境(一)
  • 原文地址:https://www.cnblogs.com/xuepangzi/p/10989847.html
Copyright © 2011-2022 走看看