gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:07 25 4
gpt4 key购买 nike

我正在构建一个处理 POST 请求的 REST API 服务器。请求中的内容类型是“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")

现在,当我发送上述数据时,总是会出错。它打印“问题”。此外,打印表单内容的行将其显示为错误。像这样的东西:

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

一个有趣的点:如果我从请求 header 中删除“Content-type”,它会起作用。

当我们将内容类型用作 application/x-www-form-urlencoded 时,关于如何正确读取表单数据的任何输入。

提前致谢...

最佳答案

根据 Django 表单文档:

By default, each Field class assumes the value is required, so if you pass an empty value – either None or the empty string ("") – then clean() will raise a ValidationError exception

您走在正确的轨道上,您应该按照此线程将表单作为 multipart/form-data 发送:Thread about form Content types

关于django - 处理 url 编码数据时 django rest 框架出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58523907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com