django imagefield(filefield)需要哪种文件格式?

时间:2017-04-29 14:47:13

标签: json django django-rest-framework serializer filefield

我第一次使用django-rest-framework。我默认使用json格式。 我需要发送文件来创建一个新实例。此文件已保存在models.ImageField中。但是,我不知道此字段对传入文件所需的格式。我尝试在base64中发送它,但它不合适。

针对此问题的TestCase:

class PersonTestCase(APITestCase):
    def setUp(self):
        self.c = APIClient()

    def test_sign_up_with_valid_data(self):
        with open('persons/test/bg.jpg', 'rb') as bg:
            valid_registration_data = {
                ...,
                'background': base64.b64encode(bg.read()).decode('utf-8'),
            }
            response = self.c.post('/persons/sign_up', valid_registration_data)
            self.assertEqual(response.status_code, 201)
            self.assertEqual(Person.objects.count(), 1)
            self.assertEqual(Person.objects.get('username'), 'test_client74562984')

查看:

class SignUpView(APIView):
    """
    Create new user
    """
    def post(self, request):
        serializer = UserSerializer(data=request.data)
        if serializer.is_valid():
            serializer.save()
            response = Response(serializer.data, status=status.HTTP_201_CREATED)
            return response
        response = Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
        return response

0 个答案:

没有答案