So i'm using django view to call api post method but its giving me 400 error

As i encounter csrf forbidden error b4, im using the @csrf_exempt for now. 
I tried doing post method on both the API itself and also using the view to 
call the api.

However when using the view to call, i got 400 error when both are using 
the same post value to post.

Posting using api: QueryDict: {'book': ['Second '], 'author': ['Ban'], 
'date': ['2018-01-10 08:00AM']} [22/Jan/2018 18:56:09] "POST /api/test/ 
HTTP/1.1" 200 61

Posting using view: QueryDict: {} [22/Jan/2018 18:56:12] "POST 
/api/test/?book=Second+&author=Ban&date=2018-01-10+08%3A00AM HTTP/1.1" 400 
36 [22/Jan/2018 18:56:12] "POST /test/ HTTP/1.1" 200 19

Here is my code

*models.py*

class TestPost(models.Model):
    book = models.CharField(max_length=10, blank=True, null=True)
    author = models.CharField(max_length=10, blank=True, null=True)
    date = models.DateTimeField(blank=True, null=True)

*serializer.py*

class TestPostSerializer(serializers.ModelSerializer):
    date = serializers.DateTimeField(format="%Y-%m-%d %I:%M %p")

    class Meta:
        model = TestPost
        fields = ('id', 'book', 'author', 'date')

*views.py*

from django.http import HttpResponseimport requests
def my_django_view(request):
    if request.method == 'POST':
        r = requests.post('http://127.0.0.1:8000/api/test/', 
params=request.POST)
    else:
        r = requests.get('http://127.0.0.1:8000/api/test/', params=request.GET)
    if r.status_code == 200:
        return HttpResponse('Yay, it worked')
    return HttpResponse('Could not save data')
class TestPostViewSet(viewsets.ModelViewSet):
    permission_classes = [AllowAny]
    queryset = TestPost.objects.all()
    serializer_class = TestPostSerializer

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/db1af83c-beac-4472-b55c-6b375a64adff%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to