Post request of the crud функциональность не работает в моем приложении django rest_framework
Я пытаюсь сделать грубый api используя django rest_framework запрос get вроде работает нормально
но post запрос не работает вообще, когда я пытаюсь вывести request.data, он выдает пустой словарь
Пожалуйста, помогите мне решить эту проблему
файлviews.py
from rest_framework import serializers
from . models import freelancerJob
from django.http import JsonResponse
from .serializers import jobPostSerializer
from django.views import View
from django.views.decorators.csrf import csrf_exempt
from rest_framework.status import HTTP_200_OK,HTTP_400_BAD_REQUEST
from rest_framework.decorators import api_view
from rest_framework.response import Response
from rest_framework.decorators import parser_classes
from rest_framework.parsers import JSONParser
from rest_framework import viewsets
@csrf_exempt
@api_view(['GET', 'POST','DELETE'])
@parser_classes([JSONParser])
def jobPostView(request,format=None):
if request.method == "POST":
print("data",request.data)
serializer = jobPostSerializer(data=request.data)
print(serializer.initial_data)
if serializer.is_valid(raise_exception=True):
serializer.save()
return JsonResponse({'data':serializer.data},status = HTTP_200_OK )
else:
return Response({'status':'error','data':serializer.data},status = HTTP_400_BAD_REQUEST)
if request.method == "GET":
data = freelancerJob.objects.all().order_by('id')
serializer = jobPostSerializer(data ,many = True)
return Response({"status":'success','data':serializer.data},status = HTTP_200_OK)
Мой файл serializers.py
from rest_framework import serializers
from . models import freelancerJob
class jobPostSerializer(serializers.HyperlinkedModelSerializer):
def create(self,validated_data):
return freelancerJob.object.create(**validated_data)
class Meta:
model = freelancerJob
fields = ['title','description','skill','duration','budget','types']
мой файл models.py
from operator import truediv
from django.db import models
class freelancerJob(models.Model):
Job_duration = (
('1','Less than 1 month'),
('3','1 to 3 months'),
('6','3 to 6 month'),
('12','More than 6 months')
)
Job_type=(("Individual",'Individual freelancer'),
('Team','Team')
)
title = models.CharField(max_length=250,null=True,blank=False)
description = models.CharField(max_length=2000,blank=False)
skill= models.CharField(max_length=250)
duration = models.CharField(max_length=50 ,blank=False,choices=Job_duration)
budget = models.IntegerField(blank=False)
types = models.CharField(max_length=50,blank=False,choices=Job_type)
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title
Когда я пытаюсь вывести request.data, который приходит из post-запроса, он выдает пустой словарь
