def post(self, request): data = JSONParser().parse(request) serializer = SnippetSerializer(data=data) if serializer.is_valid(): serializer.save() return Response(serializer.data, status=201) return Response(serializer.errors, status=400)
def snippet_detail(request, pk): """ Retrieve, update or delete a snippet instance. """ try: snippet = Snippet.objects.get(pk=pk) except Snippet.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = SnippetSerializer(snippet) return Response(serializer.data) elif request.method == 'PUT': serializer = SnippetSerializer(snippet, data=request.DATA) if serializer.is_valid(): serializer.save() return Response(serializer.data) else: return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) elif request.method == 'DELETE': snippet.delete() return Response(status=status.HTTP_204_NO_CONTENT) def pre_save(self, obj): obj.owner = self.request.user
def put(self, request, format=None): serializer = SnippetSerializer(snippet, data=request.data) if serializer.is_valid(): serializer.save(owner=request.user) client = BeanstalkClient() client.call('api.evaluate') return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def post(self, request, format=None): if request.user.snippets.all().count() > 0: return Response( 'User already has a submitted code snippet. Use PUT to update', status=status.HTTP_400_BAD_REQUEST) serializer = SnippetSerializer(data=request.data) if serializer.is_valid(): serializer.save(owner=request.user) client = BeanstalkClient() client.call('api.evaluate') return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def snippet_list(request): """ List all snippets, or create a new snippet. """ if request.method == 'GET': snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = SnippetSerializer(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 put(self, request, format=None): try: snippet = request.user.snippets.first() except User.DoesNotExist: return Response( 'User has no code snippet submitted. Use POST to submit', status=status.HTTP_400_BAD_REQUEST) serializer = SnippetSerializer(snippet, data=request.data) if serializer.is_valid(): serializer.save(owner=request.user) client = BeanstalkClient() client.call('api.evaluate') return Response(serializer.data) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def get(self, request, format=None): try: snippet = request.user.snippets.first() except User.DoesNotExist: snippet = None serializer = SnippetSerializer(snippet) return Response(serializer.data)
def snippet_list(request,permission_classes = (permissions.IsAuthenticatedOrReadOnly,)): """ List all snippets, or create a new snippet. """ if request.method == 'GET': snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = SnippetSerializer(data=request.DATA) 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 pre_save(self, obj): obj.owner = self.request.user
def search(request): kw = request.GET.get['kw'] snippets = avmoo_api.objects.filter( Q(fanhao=kw) | Q(artists=kw) | Q(leibie=kw)) page = request.GET.get('page') limit = 20 p = Paginator(objects, limit) try: db = p.page(page) api = SnippetSerializer(db, many=True) except PageNotAnInteger: db = p.page(1) api = SnippetSerializer(db, many=True) except EmptyPage: db = p.page(p.num_pages) api = SnippetSerializer(db, many=True) return JSONResponse(api.data, charset='utf-8')
def snippet_list(request, format=None): """ List all snippets, or create a new snippet. """ if request.method == 'GET': snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = SnippetSerializer(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 snippet_list(request): """ 展示所有存在的snippet, 或建立新的snippet """ if request.method == 'GET': snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return JSONResponse(serializer.data) elif request.method == 'POST': data = JSONParser().parse(request) serializer = SnippetSerializer(data=data) if serializer.is_valid(): serializer.save() return JSONResponse(serializer.data, status=201) return JSONResponse(serializer.errors, status=400)
def snippet_list(request): """ 列出所有的snippets,或者创建一个新的snippet。 """ if request.method == 'GET': id = request.GET.get('id') snippets = Snippet.objects.filter(id=id) serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = SnippetSerializer(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 api_detail(request, pk): try: snippet = avmoo_api.objects.get(pk=pk) except avmoo_api.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': api = SnippetSerializer(snippet) return JSONResponse(api.data, charset='utf-8') elif request.method == 'PUT': data = JSONParser().parse(request) api = SnippetSerializer(snippet, data=data) if api.is_valid(): api.save() return JSONResponse(api.data, charset='utf-8') return JSONResponse(api.errors, status=400) elif request.method == 'DELETE': snippet.delete() return HttpResponse(status=204)
def snippet_list(request, permission_classes=(permissions.IsAuthenticatedOrReadOnly, )): """ List all snippets, or create a new snippet. """ if request.method == 'GET': snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = SnippetSerializer(data=request.DATA) 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 pre_save(self, obj): obj.owner = self.request.user
def snippet_detail(request, pk, format=None): """ Retrieve, update or delete a code snippet. """ try: snippet = Snippet.objects.get(pk=pk) except Snippet.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) if request.method == 'GET': serializer = SnippetSerializer(snippet) return Response(serializer.data) elif request.method == 'PUT': serializer = SnippetSerializer(snippet, 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': snippet.delete() return Response(status=status.HTTP_204_NO_CONTENT)
def snippet_detail(request, pk): """ 展示, 更新或删除一个snippet """ try: snippet = Snippet.objects.get(pk=pk) except Snippet.DoesNotExist: return HttpResponse(status=404) if request.method == 'GET': serializer = SnippetSerializer(snippet) return JSONResponse(serializer.data) elif request.method == 'PUT': data = JSONParser().parse(request) serializer = SnippetSerializer(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)
def get(self, request): snippets = Snippet.objects.all() serializer = SnippetSerializer(snippets, many=True) return Response(serializer.data)
def post(self, request): serializer = SnippetSerializer(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 teacher(request): if request.method == 'GET': snippets = teacher.objects.all() page = request.GET.get('page') limit = 20 p = Paginator(snippets, limit) try: db = p.page(page) api = SnippetSerializer(db, many=True) except PageNotAnInteger: db = p.page(1) api = SnippetSerializer(db, many=True) except EmptyPage: db = p.page(p.num_pages) api = SnippetSerializer(db, many=True) return JSONResponse(api.data, charset='utf-8') elif request == 'POST': data = JSONParser().parse(request) api = SnippetSerializer(data=data) if api.is_valid(): api.save() return JSONResponse(api.data, status=201, charset='utf-8') return JSONResponse(api.errors, status=100)