处理url编码数据时django rest框架出现问题

处理url编码数据时django rest框架出现问题,django,rest,http,django-rest-framework,Django,Rest,Http,Django Rest Framework,我正在构建一个RESTAPI服务器来处理POST请求。请求中的内容类型是“application/x-www-form-urlencoded”。在请求正文中,我们发送“data1”(一些字符串)和“image”(一个文件) 以下是我的示例inputForm代码: from django import forms class RequestForm(forms.Form): data1= forms.CharField(label='data1',max_length=10000)

我正在构建一个RESTAPI服务器来处理POST请求。请求中的内容类型是“application/x-www-form-urlencoded”。在请求正文中,我们发送“data1”(一些字符串)和“image”(一个文件)

以下是我的示例inputForm代码:

from django import forms

class RequestForm(forms.Form):
    data1= forms.CharField(label='data1',max_length=10000)
    image = forms.ImageField()
然后,我验证表单请求中的内容:

if request.method == 'POST':
        form = RequestForm(request.POST)
        print("Form content: {0}".format(form))
        if form.is_valid():
            print("Works")
        else:
            print("Issue")
现在,当我发送上述数据时,我总是收到一个错误。它打印“问题”。此外,taht打印表单内容的行将其显示为错误。比如:

<ul class="errorlist"><li>This field is required.</li></ul><input type="text" name="data1" maxlength="10000"

  • 此字段是必需的。
    • 根据Django表格文档:

      默认情况下,每个字段类都假定该值是必需的,因此如果传递空值–None或空字符串(“”),则clean()将引发ValidationError异常


      您的思路是正确的,您应该按照以下线程将表单作为
      多部分/表单数据发送:

      按照Django表单文档:

      默认情况下,每个字段类都假定该值是必需的,因此如果传递空值–None或空字符串(“”),则clean()将引发ValidationError异常


      您的思路是正确的,您应该按照以下线程将表单作为
      多部分/表单数据发送:

      找到解决方案。首先,我在输入中发送一个文件。所以我应该使用内容类型作为“multipart formdata”。 此外,我正在使用Postman输入RESTAPI请求。在请求主体中,我设置了表单数据,它根据我在主体中发送的内容自动正确地设置标题。我试图用我自己的标题覆盖它,这是不对的


      当我在Postman中重新发送没有标题的HTTPPOST请求时,它起作用了。(当然,我确实验证了最后的http请求本身,并确认Postman正确设置了标头)

      找到了解决方案。首先,我在输入中发送一个文件。所以我应该使用内容类型作为“multipart formdata”。 此外,我正在使用Postman输入RESTAPI请求。在请求主体中,我设置了表单数据,它根据我在主体中发送的内容自动正确地设置标题。我试图用我自己的标题覆盖它,这是不对的

      当我在Postman中重新发送没有标题的HTTPPOST请求时,它起作用了。(当然,我确实验证了最后的http请求本身,并确认Postman正确设置了标头)