【问题标题】:Django REST Framework form data no submit with x-www-form-urlencodedDjango REST Framework 表单数据不使用 x-www-form-urlencoded 提交
【发布时间】:2018-06-25 19:34:56
【问题描述】:

我正在尝试使用带有 x-www-form-urlencoded 的邮递员发布数据。 当我发送请求时,正在发生错误说-

{
    "detail": "Missing filename. Request should include a Content-Disposition header with a filename parameter."
}

帖子数据包含{'name': 'hello'}

这是我的看法:

serializer = Web2TypeSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            return JsonResponse(serializer.data, status=status.HTTP_201_CREATED)
        return JsonResponse(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

注意:发布数据不包含任何文件。

【问题讨论】:

    标签: python django django-rest-framework


    【解决方案1】:

    从错误来看,我相信您的请求需要 Content-type: application/json 标头。您正在尝试发送 json 而不是表单数据。 (或者,至少,您已将其配置为期望并解析 json 作为首选;如果这不是故意的,并且您确实打算将 json 对象作为表单数据提交,请检查 settings.py 中的 DRF 设置)。

    curl 中的等价请求是:

    curl https://example.com/my/endpoint/ 
      -X POST\ 
      -H "Content-type: application/json"\
      -d '{"name":"hello"}'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 2016-10-17
      • 2018-09-23
      • 2019-01-03
      • 2021-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多