Значение не передается в базу данных, результат, который я получаю - Bad request
@api_view(['POST'])
def savetoken(request):
if request.method==("POST"):
saveserialize=Tokenserialize(data=request.data)
if saveserialize.is_valid():
saveserialize.save()
return Response(saveserialize.data,status=status.HTTP_201_CREATED)
return Response(saveserialize.data,status=status.HTTP_400_BAD_REQUEST)
def inserttoken(request):
if request.method=="POST":
apiId = request.POST.get('apiId')
invoiceNumber = request.POST.get('invoiceNumber')
totalAmount = request.POST.get('totalAmount')
currency = request.POST.get('currency')
redirectUrl = request.POST.get('redirectUrl')
cancelUrl = request.POST.get('cancelUrl')
orderTime = request.POST.get('orderTime ')
tipAmount = request.POST.get('tipAmount ')
tipAllowed = request.POST.get('tipAllowed ')
paymentType = request.POST.get('paymentType')
paymentMode = request.POST.get('paymentMode')
data = { 'apiId' :apiId,'invoiceNumber' :invoiceNumber,'totalAmount' :totalAmount,'currency' :currency,'redirectUrl' :redirectUrl,'cancelUrl' :cancelUrl,'orderTime' :orderTime,'tipAmount' :tipAmount,'tipAllowed' : tipAllowed,'paymentType' : paymentType,'paymentMode' : paymentMode}
headers = {'Content-Type' : 'application/json'}
read = requests.post('http://127.0.0.1:8000/inputtoken',json = data, headers=headers)
return render(request,'inputPage.html')
else:
return render(request,'inputPage.html')
Выше приведен код коннектора python, а ниже - html, и проблема, с которой я сталкиваюсь, заключается в том, что даже если я передаю значения должным образом, они не сохраняются в базе данных, что я и получаю, если я использую post man для тестирования моего API отдельно, он работает правильно.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form method="POST" >
{% csrf_token %}
<div>
<!-- apiId-->
<input type=text name="apiId" placeholder="apiId"><br>
<!-- invoiceNumber-->
<input type=text name="invoiceNumber" placeholder="invoiceNumber"><br>
<!-- totalAmount-->
<input type=number name="totalAmount" placeholder="totlaAmount"><br>
<!-- currency-->
<input type=text name="currency" placeholder="currency"><br>
<!-- redirectUrl-->
<input type=text name="redirectUrl" placeholder="redirectUrl"><br>
<!-- cancelUrl-->
<input type=text name="cancelUrl" placeholder="cancelUrl"><br>
<!-- orderTime-->
<input type=text name="orderTime" placeholder="orderTime"><br>
<!-- tipAmount-->
<input type=text name="tipAmount" placeholder="tipAmount"><br>
<!-- tipAllowed-->
<input type=text name="tipAllowed" placeholder="tipAllowed"><br>
<!-- paymentType-->
<input type=text name="paymentType" placeholder="paymentType"><br>
<!-- paymentMode-->
<input type=number name="paymentMode" placeholder="paymentMode"><br>
</div>
<input type="submit" value="Hit Token" onclick="return alert('done')"/>
</form>
</body>
</html>
class TokenModel(models.Model):
id = models.AutoField(primary_key=True)
apiId = models.CharField(max_length=100)
invoiceNumber = models.CharField(max_length=100)
totalAmount = models.IntegerField()
currency = models.CharField(max_length=100)
redirectUrl = models.CharField(max_length=100)
cancelUrl = models.CharField(max_length=100)
orderTime = models.CharField(max_length=100)
tipAmount = models.CharField(max_length=100)
tipAllowed = models.CharField(max_length=100)
paymentType = models.CharField(max_length=100)
paymentMode = models.IntegerField()
#Token = models.CharField()
class Meta:
db_table = "token"