python - viewset - rest api django 2




如何發送一個Django的請求到外部服務器 (2)

嗨,所以我有這種方法在Django視圖將文件發佈到不同的服務器。 抱怨請求的媒體類型,我得到一個HTTP 415錯誤。 我調試了請求,並複制並粘貼在提琴手的內容。 當我從小提琴手張貼相同的工作。 所以我不明白為什麼它不能使用python請求包。

誰能幫我這個?

謝謝。

def upload(request):
    if request.method == 'POST':
        url=settings.WEBSERVICES_URL+'validate'
        r = requests.post('http://localhost:9090/validate',data=request)
        r2 = requests.get('http://localhost:9090/test')
        return render_to_response("upload.html", context_instance=RequestContext(request))
    else:
        return render_to_response("upload.html", context_instance=RequestContext(request))

做這個:

r = requests.post('http://localhost:9090/validate', data=request.POST)

當您只需要其發布數據時,您將傳遞完整的django.http.HttpRequest像給requests.post


如果你看看關於data關鍵字的請求文檔

數據 - (可選)在請求主體中發送的字典,字節或文件類對象。

Django的requestHttpRequest一個HttpRequest的實例。你應該嘗試把必要的數據放到一個字典中並傳遞給post()





request