Django REST UnitTest没有提交文件

我成功地实施了小案例。然后我开始采用更大的结构。我得到了错误。
错误:
No file was submitted.Django REST UnitTest没有提交文件

import tempfile 

from unittest import skip

from django.conf import settings

from django.contrib.auth.models import User

from django.core.files import File

from django.core.files.uploadedfile import SimpleUploadedFile

from model_mommy import mommy

from rest_framework import status

from rest_framework.reverse import reverse

from rest_framework.test import APITestCase, APIClient

class CustomerFromExcelViewsetTest(APITestCase):

def setUp(self):

self.client = APIClient()

self.soken_staff = mommy.make(User, username='spearhead')

self.user = mommy.make(User, username='Justin')

settings.MEDIA_ROOT = tempfile.mkdtemp()

def test_upload_file(self):

"""Expect created_user, and updated_user correct set"""

file = File(open('./soken_web/apps/uploaded_files/complete-customer.xlsx', 'rb'))

uploaded_file = SimpleUploadedFile('new_excel.xlsx', file.read(), content_type='multipart/form-data')

data = {

file: uploaded_file,

}

self.client.force_authenticate(user=self.user)

response = self.client.post(reverse('api:customer_from_excel-list'), data, format='multipart')

response.render()

self.assertEqual(status.HTTP_201_CREATED, response.status_code)

在这里,他们是modelsserializersviewsets

models.py
https://gist.github.com/elcolie/52daf2bd144af82b348f7353656be434

serializers.py
https://gist.github.com/elcolie/7f097642c4a752e76044c6938c49e097

viewsets.py
https://gist.github.com/elcolie/34fa66632209f14624899d997919d3fb

一天之后,我想不出哪里是这个bug。

参考文献:
DRF APITestCase not use `multipart` with other param

回答:

看起来你在data字典错过了报价。它应该是:

data = { 

'file': uploaded_file,

}

以上是 Django REST UnitTest没有提交文件 的全部内容, 来源链接: utcz.com/qa/258825.html

回到顶部