DJANGO small program -swiper get data from back-end

1django, to build the first model, and then serialized, then compile the view
model, serialized in front of others
only put here to view

Note: If you are using VScode do serialization may be error, you can not control


@api_view(['GET','POST'])
def BannerView(request):
    querysets = Banner.objects.all()
    # print (querysets)
    # print (querysets.values())
    querysetsList =querysets.values()
    bannerList = []
    for item in querysetsList:
        banner = {"bname": item['bname'], "bimage": 'http://127.0.0.1:8000/upload/'+item["bimage"]}
        bannerList.append(banner)
    # print(dir(querysets))
    # serializer = BlogSerializer(querysets.values(), many=True)
    # print(serializer.data)
    # 直接返回values
    bannerList = bannerList[::-1]
    return Response({"bannerList": bannerList})
       
# class BannerView(APIView):
#     def get(self, request):
#         # 获取queryset
#         banners = Banner.objects.all()
#         # 开始序列化;
#         serializer_data = BannerSerializer(banners, many=True)

#         print(serializer_data)

#         # print(serializer_data.data)

#         # 获取序列化后的数据,返回给客户端
#         return Response(serializer_data.data)

#     def post(self, request):
#         # 获取数据
#         client_data = request.data

#         # 序列化数据
#         verified_data = BannerSerializer(data=client_data)
#         #print(verified_data)

#         # 校验数据
#         if verified_data.is_valid():
#             banner = verified_data.save()
#             #print(verified_data.data) # 需要保存之后才能获取.data
#             return Response(verified_data.data)
#         else:
#             return Response(verified_data.errors, status=400)
    
      
    # def put(self,request,banner_id):
    #     banner_obj =  Banner.objects.get(pk=banner_id)
    #     verified_data = BannerSerializer(instance=banner_obj , data=request.data)
    #         # 校验数据
    #     if verified_data.is_valid():
    #         banner = verified_data.save()
    #             #print(verified_data.data) # 需要保存之后才能获取.data
    #         return Response(verified_data.data)
    #     else:
    #         return Response(verified_data.errors, status=400)
              
    # def delete(self, request, banner_id):
    #     banner_obj =  Banner.objects.get(pk=banner_id)
    #     banner_obj.delete()
    #     return Response({'message': 'OK'})                
           

Access 127.0.0.1:8000/api/banner

HTTP 200 OK
Allow: GET, POST, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "bannerList": [
        {
            "bname": "031903",
            "bimage": "http://127.0.0.1:8000/upload/static/images/2020/03/19/微信图片_20200319223121.jpg"
        },
        {
            "bname": "031902",
            "bimage": "http://127.0.0.1:8000/upload/static/images/2020/03/19/微信图片_20200319223117.jpg"
        },
        {
            "bname": "031901",
            "bimage": "http://127.0.0.1:8000/upload/static/images/2020/03/19/微信图片_20200319222913.jpg"
        }
    ]
}

URL here do not write.

JS部分
onLoad: function(options) {
    var self = this;
    // var swiperList = [];
    wx.request({ //从后端获取数据
        url: 'http://127.0.0.1:8000/api/banner/', //后端传数据的路径
        data: {},
        header: {
          'content-type': 'application/json' // 默认值
        },
        success(res) {
          self.setData({
            swiperList: res.data.bannerList,
          })
        }
      }),
inde.wxml
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="true">
    <block wx:for="{{swiperList}}" wx:key='index'>
      <swiper-item>
        <image src="{{item.bimage}}" mode="widthFix" />
      </swiper-item>
    </block>
  </swiper>

Next write, CardList cycle, data acquisition

Published 12 original articles · won praise 0 · Views 184

Guess you like

Origin blog.csdn.net/weixin_44675051/article/details/104999007