1django,先建模型,再序列化,再编视图
模型,序列化前面有的
这里只放视图
注:如果用的VScode做序列化可能会报错,可以先不用管
@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'})
访问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这里不写了。
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>
下一篇写,CardList循环,获取数据