示例#1
0
 def post(self, request):
     if request.user.is_authenticated:
         serializer = ArticleSerializer(data=request.data)
         if serializer.is_valid():
             serializer = ArticleSerializer(data=request.data)
             if serializer.is_valid():
                 serializer.save(writer=request.user)
                 return JsonResponse(serializer.data,
                                     status=status.HTTP_201_CREATED)
         return Response(serializer.errors,
                         status=status.HTTP_400_BAD_REQUEST)
     return Response(status=status.HTTP_401_UNAUTHORIZED)
示例#2
0
def article_detail(request, pk):
    """
    Retrieve, update or delete a code snippet.
    """
    try:
        article = Article.objects.get(pk=pk)
    except Article.DoesNotExist:
        return HttpResponse(status=404)

    if request.method == 'GET':
        serializer = ArticleSerializer(article)
        return JSONResponse(serializer.data)

    elif request.method == 'PUT':
        data = JSONParser().parse(request)
        print(data)
        serializer = ArticleSerializer(article, data=data)
        if serializer.is_valid():
            serializer.save()
            return JSONResponse(serializer.data)
        return JSONResponse(serializer.errors, status=400)

    elif request.method == 'DELETE':
        article.delete()
        return HttpResponse(status=204)
示例#3
0
    def put(self, request, pk):
        article = self.get_object(pk)

        serializer = ArticleSerializer(article, data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data)
        return Response(serializer.errors, status=400)
示例#4
0
    def post(self, request):
        serializer = ArticleSerializer(data=request.data)

        if serializer.is_valid() and serializer.check_author_id(request.data):
            serializer.save(author=Author.objects.get(
                id=request.data["author"]))
            return Response(serializer.data)
        return Response(serializer.errors, status=400)
示例#5
0
    def post(self, request):
        article = request.data.get('article')

        # Create an article from the above data
        serializer = ArticleSerializer(data=article)
        if serializer.is_valid(raise_exception=True):
            article_saved = serializer.save()
        return Response({
            "success":
            "Article '{}' created successfully".format(article_saved.title)
        })
示例#6
0
def post_list(request,format=None):
   if request.method == 'GET':
      posts = Article.objects.all()
      serializer = ArticleSerializer(posts,many=True)
      return Response(serializer.data)
   elif request.method == 'POST':
      serializer = ArticleSerializer(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)
示例#7
0
def article_list(request, format=None):
    """List all articles or create a new article"""
    if request.method == 'GET':
        articles = Article.objects.all()
        serializer = ArticleSerializer(articles, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = ArticleSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=status.HTTP_201_CREATED)
        return Reponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
示例#8
0
def article_list(request):
    """
    List all snippets, or create a new article.
    """

    if request.method == 'GET':
        articles = Article.objects.all()
        serializer = ArticleSerializer(articles, many=True)
        return Response(serializer.data)

    elif request.method == 'POST':
        serializer = ArticleSerializer(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)
示例#9
0
def createArticle(request):
    user = request.user
    if user.is_anonymous:
        return Response('Anonymous user is not allowed', status=status.HTTP_400_BAD_REQUEST)
    data = request.data
    interests = list(data['interest'])
    for interest in interests:
        articleData = data
        articleData['interest'] = interest
        serializer = ArticleSerializer(data=articleData)
        if serializer.is_valid():
            article = serializer.save()
            article.tags.add(*data['articleTags'])
        else:
            return Response(data=serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    return Response(status=200)
示例#10
0
def article_list(request):
    """
    List all code snippets, or create a new snippet.
    """
    if request.method == 'GET':
        articles = Article.objects.all()
        serializer = ArticleSerializer(articles, many=True)
        return JSONResponse(serializer.data)

    elif request.method == 'POST':
        data = JSONParser().parse(request)
        serializer = ArticleSerializer(data=data)
        if serializer.is_valid():
            serializer.save()
            return JSONResponse(serializer.data, status=201)
        return JSONResponse(serializer.errors, status=400)
示例#11
0
def post_detail(request,pk,format=None):
   try:
      post = Article.objects.get(pk=pk)
   except Post.DoesNotExist:
      return Response(status=status.HTTP_404_NOT_FOUND)
   if request.method == 'GET':
      serializer = ArticleSerializer(post)
      return Response(serializer.data)
   elif request.method == 'PUT':
      serializer = ArticleSerializer(post,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':
      post.delete()
      return Response(status=status.HTTP_204_NO_CONTENT)
示例#12
0
def article_detail(request, pk, format=None):
    """Retrive, Update or Delete a article"""
    try:
        article = Article.objects.get(pk=pk)
    except:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = ArticleSerializer(article)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = ArticleSerializer(article, 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':
        article.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)
示例#13
0
def article_detail(request, pk):
    """
    Retrieve, update or delete a snippet instance.
    """
    try:
        article1 = Article.objects.get(pk=pk)
    except Article.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

    if request.method == 'GET':
        serializer = ArticleSerializer(article1)
        return Response(serializer.data)

    elif request.method == 'PUT':
        serializer = ArticleSerializer(article1, 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':
        article1.delete()
        return Response(status=status.HTTP_204_NO_CONTENT)