我已经在 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 请求,我在其中将数据添加到 body -> form-data。我也尝试通过 body->raw->json 发送数据,但无论如何 request.POST 不包含任何内容。
没有Post数据是什么原因? 如何获取 POST 数据?
谢谢!
请您参考如下方法:
尝试使用 x-www-form-urlencoded 而不是 form data。 x-www-form-urlencoded 是 HTML 表单的默认表单编码。
Django 确实支持 enctype="multipart/form-data",可用于 uploading files .所以恐怕我无法解释为什么当您选择 form data 时,Postman 的请求不起作用。可能您的请求 header 不正确。
