[英]django.http.request.RawPostDataException: You cannot access body after reading from request's data stream
[英]access data from request body django
我正在使用django v2.2.4
,需要访问请求正文数据。
这是我的代码:
@api_view(['POST'])
@renderer_classes((JSONRenderer,))
def index(request):
if request.method == 'POST':
results= []
data = JSONParser().parse(request)
serializer = ScrapeSerializer(data=data)
if serializer.is_valid():
url = request.data.url
#url = request.POST.get('url')
但是我得到这个错误:
RawPostDataException at /scrape/
You cannot access body after reading from request's data stream
这是请求正文:
{
"url": "xyz.com"
}
如何访问请求正文?
我发现与此问题相关的SO帖子, 例外:从请求的数据流中读取后无法访问正文
无论如何在DRF中使用request.data
而不是request.body
@api_view(['POST'])
@renderer_classes((JSONRenderer,))
def index(request):
if request.method == 'POST':
results = []
serializer = ScrapeSerializer(data=request.data)
if serializer.is_valid():
url = request.data["url"]
request.data
返回请求正文的解析内容,它将像对象一样dict ,因此点操作( request.data.url
)在这里不起作用。
要访问POST请求的请求正文,您可以通过url = request.POST.get("url")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.