Skip to main content
 首页 » 编程设计

python之Django request.post 无可用数据

2024年09月07日3298°冷暖

我已经在 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 不正确。