2016-05-24 3 views
0

J'utilise Django 1.8, tastypie 0.13.0 versions, alors que faire la requête POST il donne une erreur. UnsupportedFormat: Le format indiqué 'application/form-data' n'a pas de méthode de désérialisation disponible. Veuillez vérifier vos formats et content_types sur votre Serializer.Je suis en train de télécharger l'image en utilisant Django 1.8 et tastypie

class MultiPartResource(object): 
    def deserialize(self, request, data, format=None): 
    if not format: 
     format = request.Meta.get('CONTENT_TYPE', 'application/json') 
    if format == 'application/x-www-form-urlencoded': 
     return request.POST 
    if format.startswith('multipart/form-data'): 
     data = request.POST.copy() 
     data.update(request.FILES) 
     return data 
    return super(MultiPartResource, self).deserialize(request, data, format) 

    def patch_detail(self, request, **kwargs): 
     if request.META.get('CONTENT_TYPE', '').startswith('multipart/form-  data') and not hasattr(request, '_body'): 
      request._body = '' 
     return super(MultipartResource, self).patch_detail(request, **kwargs) 

Répondre

0

Utilisez tastypie-extrasMultipartResourceMixin

from tastypie_extras import MultipartResourceMixin 

class MyResource(MultipartResourceMixin, ModelResource): 
    .... 

Testé sur Django 1.4 et 1.8 et Tastypie 0.9.12 et 0.13.0