def artical_list(request): if request.method == 'GET': queryset = models.Artical.objects.all() serializer = serializers.ArticalSerialzer(queryset, many=True) return Response(serializer.data) elif request.method == "POST": serializer = serializers.ArticalSerialzer(data=request.data) from rest_framework import status if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, format=None): from rest_framework import status serializer = serializers.ArticalSerialzer(data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def tencentindex(request): queryset = models.Artical.objects.all() # queryset = models.Artical.objects.values_list("a_id", "title", "artical") # 方式1: # data = [] # for item in queryset: # p_tmp = { # "title": item.title, # "cover_url": item.cover_url.images_url # } # data.append(p_tmp) # 方式2: # data = [] # from django.forms.models import model_to_dict # for item in queryset: # data.append(model_to_dict(item)) # import json # return HttpResponse(json.dumps(data), content_type="application/json") # 方式3: # from django.core import serializers # data = serializers.serialize("json", queryset) # return HttpResponse(data, content_type="application/json") # 方式4: restframework from four import serializers import json serializer = serializers.ArticalSerialzer(queryset, many=True) return HttpResponse(json.dumps(serializer.data), content_type="application/json")
def put(self, request, pk, format=None): artical = self.get_object(pk) serializer = serializers.ArticalSerialzer(artical, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) from rest_framework import status return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def serializers_ind(request): p1 = {"title": "asdasdasd", "a_id": "asdasdasd", "artical": "as56d46a1sd6as1d6a", "cover_url": "https://asdasd.asdasd.com"} from four import serializers serializer = serializers.ArticalSerialzer(data=p1) print(serializer.is_valid()) print(serializer.validated_data) serializer.save() return HttpResponse("asdasd")
def artical_detail(request, pk): from rest_framework import status try: artical = models.Artical.objects.get(pk=pk) except models.Artical.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = serializers.ArticalSerialzer(artical) return Response(serializer.data) elif request.method == 'PUT': serializer = serializers.ArticalSerialzer(artical, data=request.data) if serializer.is_valid(): serializer.save() return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': artical.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def get(self, request, pk, format=None): artical = self.get_object(pk) serializer = serializers.ArticalSerialzer(artical) return Response(serializer.data)
def get(self, request, format=None): artical = models.Artical.objects.all() serializer = serializers.ArticalSerialzer(artical, many=True) return Response(serializer.data)