Hi,

You seem to be doing a very complicated setup. You are creating both the
api viewset and another view. First of all - why?

Secondly, I am not sure that the csrf token will work when chaining your
posts like that.

So my main issue would be, can't you just post directly to the /api/test/
viewset?

To answer you second question, if you just use the viewset directly it will
automatically display the JSON data. That is a core function in the django
restframework.

Regards,

Andréas

2018-01-22 9:03 GMT+01:00 <[email protected]>:

> I seen alot of other solution, tried it but problem still persist.
>
> When i do a requests.get, it works fine but when i'm doing requests.post.
> I got this forbidden (csrf token is missing or incorrect) error.
>
>
> Here is my code
>
> *models.py*
>
> class TestPost(models.Model):
>     # reminderId = models.AutoField()
>     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):
>     # valid_time_formats = ['%H:%M', '%I:%M%p', '%I:%M %p']
>     # time = serializers.TimeField(format='%I:%M %p', 
> input_formats=valid_time_formats, allow_null=True)
>     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
>
>
> I did a POST method on the url of the function but error
>
>
> Forbidden (CSRF token missing or incorrect.): /test/ [22/Jan/2018
> 16:59:09] "POST /test/ HTTP/1.1" 403 2502
>
>
> Also, how do i make the HttpResponse to display the json data from my get
> and post method ?
>
> --
> 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 [email protected].
> To post to this group, send email to [email protected].
> 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/2b343676-12d3-47e7-9c2d-592580256e1a%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/2b343676-12d3-47e7-9c2d-592580256e1a%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
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/CAK4qSCdARpMMoCVcf8ZY%2BGgvdYk%3DcGFV0J9Ecs6NiVZRZQT_gg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to