Ejemplo n.º 1
0
    def put(self, request,pk,  format=None):

        snippet = self.get_object(pk)
        serializer = SnippetModelSerializer(snippet, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Response(status=status.HTTP_422_UNPROCESSABLE_ENTITY)
Ejemplo n.º 2
0
def snippet_detail(request, pk):
    """
    Retrieve, update or delete a code snippet.
    """
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = SnippetModelSerializer(snippet)
        return JsonResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        serializer = SnippetModelSerializer(snippet, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=204)
    return HttpResponse(status=404)
Ejemplo n.º 3
0
def snippet_list(request):
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetModelSerializer(snippets, many=True)

        return JsonResponse(serializer.data, safe=False)
    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = SnippetModelSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=status.HTTP_201_CREATED)
        return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Ejemplo n.º 4
0
def snippet_list(request):
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetModelSerializer(snippets, many=True)
        return JsonResponse(serializer.data, safe=False)

    if request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = SnippetModelSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)  # 只有通过验证serializer 保存成功后就可以得到data
        return JsonResponse(serializer.errors, status=400)  # 400 json参数认证错误
Ejemplo n.º 5
0
def drf_snippet_list(request, format=None):  # drf 对request 做了进一步封装
    if request.method == 'GET':
        snippet = Snippet.objects.all()
        serializer = SnippetModelSerializer(snippet, many=True)
        print('------------', type(serializer.data)) # RunDict
        return Response(serializer.data)

    if request.method == 'POST':
        # 我们不需要再自己去解析数据了
        print('+++++++++++++++', type(request.data))
        serializer = SnippetModelSerializer(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_422_UNPROCESSABLE_ENTITY)
Ejemplo n.º 6
0
def snippet_list(request):
    """
    List all code snippets, or create a new snippet.
    """
    if request.method == 'GET':
        snippets = Snippet.objects.all()
        serializer = SnippetModelSerializer(snippets, many=True)
        return JsonResponse(serializer.data, safe=False)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = SnippetModelSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=201)
        return JsonResponse(serializer.errors, status=400)
Ejemplo n.º 7
0
def snippet_detail(request, pk, format=None):

    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:
        return HttpResponse(status=status.HTTP_404_NOT_FOUND)

    if request.method == "GET":
        serializer = SnippetModelSerializer(snippet)
        return JsonResponse(serializer.data)

    elif request.method == "POST":
        data = JSONParser().parse(request)
        serializer = SnippetModelSerializer(snippet, data=data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

    elif request.method == "DELETE":
        snippet.delete()
        return HttpResponse(status=status.HTTP_204_NO_CONTENT)
Ejemplo n.º 8
0
def drf_snippet_detail(request, pk, format=None):  # 针对某一个代码片段的更新删除
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:  # 不存在这个对象
        return Response(status=status.HTTP_404_NOT_FOUND)  # 404 找不到资源

    if request.method == 'GET':
        serializer = SnippetModelSerializer(snippet)
        return Response(serializer.data)

    if request.method == 'PUT':
        # 在更新实例的时候必须要知道我们要更新哪一个实例
        serializer = SnippetModelSerializer(snippet, data=request.data)

        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.data, status=status.HTTP_422_UNPROCESSABLE_ENTITY)  # 400 json 参数认证错误

    if request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=status.HTTP_204_NO_CONTENT)  # 204 删除成功
Ejemplo n.º 9
0
def snippet_detail(request, pk):  # 针对某一个代码片段的更新删除
    try:
        snippet = Snippet.objects.get(pk=pk)
    except Snippet.DoesNotExist:  # 不存在这个对象
        return HttpResponse(status=404)  # 404 找不到资源

    if request.method == 'GET':
        serializer = SnippetModelSerializer(snippet)
        return JsonResponse(serializer.data)

    if request.method == 'PUT':
        data = JSONParser().parse(request)
        # 在更新实例的时候必须要知道我们要更新哪一个实例
        serializer = SnippetModelSerializer(snippet, data=data)

        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data)
        return JsonResponse(serializer.data, status=400)  # 400 json 参数认证错误

    if request.method == 'DELETE':
        snippet.delete()
        return HttpResponse(status=204)  # 204 删除成功
Ejemplo n.º 10
0
 def get(self, request, pk,  format=None):
     snippet = self.get_object(pk)
     serializer = SnippetModelSerializer(snippet)
     return Response(serializer.data, status=status.HTTP_200_OK)
Ejemplo n.º 11
0
 def post(self, request, format=None):
     serializer = SnippetModelSerializer(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_422_UNPROCESSABLE_ENTITY)
Ejemplo n.º 12
0
 def get(self, request, format=None):
     snippets = Snippet.objects.all()
     serializer = SnippetModelSerializer(snippets, many=True)
     return Response(serializer.data)
Ejemplo n.º 13
0
from test_scripts import django_setup
from snippets.serializers import SnippetModelSerializer, SnippetSerializer

serializer = SnippetModelSerializer()
print(repr(serializer))

serializer = SnippetSerializer()
print(repr(serializer))

# repr, str 차이? https://shoark7.github.io/programming/python/difference-between-__repr__-vs-__str__