Django request.post无可用数据

时间:2018-01-30 18:23:51

标签: python django

我已经在StackOverflow上搜索过类似的问题,但找不到对我有用的解决方案。我有以下代码段:

def post_request(request):

if request.method == "POST":
    access_token = AccessToken.objects.get(token = request.POST.get("access_token"), expires__gt = timezone.now())

当我向此函数发出HTTP请求时,出现以下错误:AccessToken matching query does not exist.,我开始调试应用程序。

问题位于request.POST.get("access_token")

request.POST = <QueryDict: {}>。我没有数据

我正在POSTMAN中发出 POST 请求,我将数据添加到正文 - &gt;形式的数据。我也尝试通过body-&gt; raw-&gt; json发送数据,但无论如何request.POST都不包含任何内容。

enter image description here

我没有Post数据的原因是什么? 如何获取POST数据?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试使用x-www-form-urlencoded代替form datax-www-form-urlencoded是HTML表单的默认表单编码。

Django支持enctype="multipart/form-data",可用于uploading files。因此,我担心无法解释为什么当您选择form data时,Postman的请求无效。也许您的请求标题不正确。