2016-05-24 4 views
0

POST要求を行う間にDjango 1.8、tastypie 0.13.0のバージョン を使用していますが、エラーが発生します。 UnsupportedFormat: 'application/form-data'で指定されたフォーマットには、デシリアライズメソッドがありませんでした。シリアライザのformatscontent_typesを確認してください。Django 1.8と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) 

答えて

0

この問題を見てみましょう:https://github.com/django-tastypie/django-tastypie/issues/42#issuecomment-5485666

これは、ファイルアップロードのサポートについて、どのようにマルチパート/フォームデータを扱うことです。

また、私はあなたがこれを解決するためにこの野生のフィールドhttps://gist.github.com/klipstein/709890を実装することをお勧めします。

あなたのためにこの作品がほしいと思っています。

0

使用tastypie-extrasMultipartResourceMixin

from tastypie_extras import MultipartResourceMixin 

class MyResource(MultipartResourceMixin, ModelResource): 
    .... 
ジャンゴ1.4と1.8とTastypie 0.9.12でテスト

と0.13.0

関連する問題