我正在尝试将ReactJSaxios与Django Rest框架连接起来以发出POST请求. 但我得到 POST 400



这里是axios代码:

axios({
method: 'post',
url: 'http://127.0.0.1:8000/api/form/',
data: this.state,
headers: {    
'Content-Type': 'application/json'}
})
.then(function (response) {
console.log(response);
})
.catch(function (response) {
console.log(response);
});
}

这是 views.py

class Formview(APIView):
def post(self,request):
Fprov=request.POST.get('selectedPro')
Fdist=request.POST.get('selectedDistrict')
FpalikaT=request.POST.get('selectedPalikaType')
FpalikaN=request.POST.get('enteredPalikaName')
FWardN=request.POST.get('enteredWardNo')
FWardOf=request.POST.get('enteredWardOfficeAddress')
FWardC=request.POST.get('enteredWardContactNo')
new=Form(Province=Fprov,
District=Fdist,
PalikaType=FpalikaT,
PalikaName=FpalikaN,
Ward_No=FWardN,
Ward_Office_Address=FWardOf,
Ward_Contact_No=FWardC)
new.save()

这是 serializers.py

from rest_framework import serializers
from .models import Form
class FormSerializer(serializers.ModelSerializer):
class Meta:
model = Form
fields = '__all__'

您需要创建一个视图来使用FormSerializer来处理请求数据。我建议创建一个基于类的视图,因为它使创建 API 变得非常容易。Django Rest 框架有很好的文档关于如何在这里创建这些视图: https://www.django-rest-framework.org/api-guide/generic-views/.创建视图并将数据作为request.data而不是request.POST传递到序列化程序。

最新更新