views.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:Charlotte 作者: LiZoRN 项目源码 文件源码
def newhouse_list(request):
    """
    List all code newhouses, or create a new house.
    """
    try:
        page_size = int(request.GET.get('page_size', 10))
        page = int(request.GET.get('page', 1))
    except (TypeError, ValueError):
        return JsonResponse(code=status.HTTP_400_BAD_REQUEST, desc='page and page_size must be integer!')


    if request.method == 'GET':
        houses = NewHouse.objects.all()
        print(page_size)
        paginator = Paginator(houses, page_size)
        total = paginator.num_pages
        try:
            houses = paginator.page(page)
        except PageNotAnInteger:
            houses = paginator.page(1)
        except EmptyPage:
            houses = paginator.page(paginator.num_pages)
        serializer = NewHouseListSerializer(houses, many=True)
        # return JsonResponse(serializer.data, safe=False)
        return JsonResponse({
                'data': serializer.data,
                'page': page,
                'total': total
            })  # ??

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = NewHouseListSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)
        return JsonResponse(serializer.errors, status=400)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号