Saturday, April 23, 2016

Re: Can not read request.body from a POST request

First, I wanted to process multiple file upload because I could not read all files but just one. I resolved it another way , but request.body could not be read. Maybe it's not useful or maybe I will have need sometime this. I think it is a limitation that I could not read it, just in case. I attached an entire test with this.
This request.body exist so , normally , must be readable.
Thanks.

On Thursday, April 21, 2016 at 4:16:07 PM UTC+3, Gergely Polonkai wrote:
A JSON/XML payload, for example. If you use plain Django (on DRF and other extensions), then request.body is the only way to access said payload.

Best,
Gergely



2016-04-21 14:17 GMT+02:00 Vijay Khemlani <vkhe...@gmail.com>:
What could be in the body that's not in the supplied Django fields?

I have implemented RESTful APIs as you say (no idea why that matters as they are just HTTP requests) and never had the need to read the actual body..

On Thu, Apr 21, 2016 at 2:13 AM, Gergely Polonkai <ger...@polonkai.eu> wrote:
Vijay: They are not the same thing. request.POST, .GET and .FILES are exactly that, POST and GET data and the optional uploaded files. However, in e.g. a RESTful environment it is possible to have something else in the request body.

Mihai, what else do you do with the request before trying to read its body?

Best,


2016-04-20 22:44 GMT+02:00 Vijay Khemlani <vkhe...@gmail.com>:
Why would you want to access request.body directly? You should use request.POST, request.GET, request.FILES.

On Wed, Apr 20, 2016 at 5:27 PM, Mihai Corciu <cor...@gmail.com> wrote:
Is there a method to access request.body from a POST request in Django, without disabling 'django.middleware.csrf.CsrfViewMiddleware' ?

CsrfViewMiddleware is causing:

Exception Type:     RawPostDataException
Exception Value:     You cannot access body after reading from request's data stream

which means request.body is impossible to acces without disabling CsrfViewMiddleware.

--
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...@googlegroups.com.
To post to this group, send email to django...@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/9e35deeb-5586-46ec-8d54-648acdafbb8d%40googlegroups.com.
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 django-users...@googlegroups.com.
To post to this group, send email to django...@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/CALn3ei0%3DUx0euOS7XZ9Wb6cw9yMvKeqGwQO0cu37Y60broG%2Bvw%40mail.gmail.com.
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 django-users...@googlegroups.com.
To post to this group, send email to django...@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/CACczBULiJRUvHWiY0fXjs0eMbdsEW5r7-vWbzWZWGwaxMt5mjA%40mail.gmail.com.

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 django-users...@googlegroups.com.
To post to this group, send email to django...@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/CALn3ei3e3sJW1RvvNpOm%3Dd36GzxvMDOie0AhobhWP-%2BeJzngdw%40mail.gmail.com.

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 django-users+unsubscribe@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/da5a96e6-5d43-4772-a921-1642b361ee7c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment