Python SimpleUploadedFile赢得';t柱
我想使用客户端将字典传递给函数。看起来是这样的:Python SimpleUploadedFile赢得';t柱,python,django,django-testing,Python,Django,Django Testing,我想使用客户端将字典传递给函数。看起来是这样的: response = self.client.post( '/upload_image/', {'image': image, 'tags': ['orion', ]}) 在我看来,它将数据发布到我拥有的: print(request.POST) image = request.POST['image'] tags = reguest.POST['tags'] 请求时出现多值错误。POST['image'] print(req
response = self.client.post(
'/upload_image/', {'image': image, 'tags': ['orion', ]})
在我看来,它将数据发布到我拥有的:
print(request.POST)
image = request.POST['image']
tags = reguest.POST['tags']
请求时出现多值错误。POST['image']
print(request.POST)
显示字典如下所示:
<QueryDict: {'tags': ['orion']}>
这是关于图像对象的,因为当我将其他内容作为图像传递(例如字符串)时,它工作得很好
我想还有另一种方法可以测试上传图像的功能,但有人知道为什么这不起作用吗?Django将上传的文件与其他提交的数据分开。
标签
键存在于request.POST
中,但图像
应存在于request.FILES
中。从我所看到的,您所做的是使用测试客户端测试文件上传的正确方法
.检查表单中的enctype它必须是enctype=“multipart/form data”@Quentin如果没有表单我该怎么办?这是唯一的测试方法-视图方法
image = SimpleUploadedFile(
'kitties.png', b'kitties_in_boxes', 'image/png')