簡體   English   中英

從請求正文django訪問數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM