def test_valid_blog_post_serializer(client): valid_serializer_data = { "tags": [], "title": "testtitle", "body": "testbody" } serializer = BlogPostSerializer(data=valid_serializer_data) assert serializer.is_valid() assert serializer.validated_data == valid_serializer_data assert serializer.errors == {}
def get(self, request, *args, **kwargs): id = request.GET["id"] if "id" in request.GET.keys() else None if id: try: post = BlogPost.objects.get(id=id) serialized_post = BlogPostSerializer(post) return Response(serialized_post.data, status=status.HTTP_200_OK) except ObjectDoesNotExist as e: return Response({"error": f'no post {id}'}, status=status.HTTP_204_NO_CONTENT) all_posts = BlogPost.objects.all() serialized_posts = BlogPostSerializer(all_posts, many=True) return Response(serialized_posts.data, status=status.HTTP_200_OK)
def post(self, request, format=None): data = self.request.data category = data["category"] queryset = BlogPost.objects.order_by("-date_created").filter( category__iexact=category) serializer = BlogPostSerializer(queryset, many=True) return Response(serializer.data)
def post(self, request, format=None): data = self.request.data category = data['categories'] queryset = BlogPost.objects.order_by('-date_created').filter(category__iexact=categories) serializer = BlogPostSerializer(queryset, many=True) list_per_page = 20 return Response(serializer.data)
def post(self, request): data = self.request.data category = data['category'] queryset = BlogPost.objects.order_by('date_created').filter( category__iexact=category) serializer = BlogPostSerializer(queryset, many=True) return Response(serializer.data)
def blogpost_list(request): print request.POST if request.method == 'GET': blogs = BlogPost.objects.all() serializer = BlogPostSerializer(blogs,many=True) return JSONResponse(serializer.data) elif request.method == 'POST': print "接收到post请求" # print request # data = JSONParser().parse(request.POST) print "成功" serializer = BlogPostSerializer(data = request.POST) print '系列化成功' # print serializer if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data,status=201) else: return JSONResponse(serializer.errors,status = 400)
def post(self, request, format=None): data = self.request.data print(data) category = data['category'] print(category) queryset = BlogPost.objects.order_by('-date_created').filter( category__iexact=category) serializer = BlogPostSerializer(queryset, many=True) return Response(serializer.data)
def post(self, request, format=None): data = self.request.data category = data['category'] queryset = BlogPost.objects.order_by('-date_created').filter( category__iexact=category) serializer = BlogPostSerializer(queryset, many=True) return Response(serializer.data) # CADA CLASSE DA VIEW, REPRESENTA UMA FUNÇÃO A SER EXECUTADA ...
def blogpost_detail(request,pk): print pk try: blogpost = BlogPost.objects.get(pk = pk) except BlogPost.DoesNotExist: # print JSONResponse("name":"no") return HttpResponse("没有这个ID") if request.method == 'GET': serializer = BlogPostSerializer(blogpost) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = BlogPostSerializer(blogpost,data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data) else: return JSONResponse(serializer.errors,status=400) elif request.method == 'DELETE': blogpost.delete() return HttpResponse(status=204)
def test_invalid_blog_post_serializer(client): invalid_serializer_data = {"tags": [], "body": "testbody"} serializer = BlogPostSerializer(data=invalid_serializer_data) assert not serializer.is_valid() assert serializer.validated_data == {} assert serializer.data == invalid_serializer_data assert serializer.errors == {"title": ["This field is required."]} invalid_serializer_data = {"tags": [], "title": "testtitle"} serializer = BlogPostSerializer(data=invalid_serializer_data) assert not serializer.is_valid() assert serializer.validated_data == {} assert serializer.data == invalid_serializer_data assert serializer.errors == {"body": ["This field is required."]}