Postmanからdjangoアプリに複数のファイルを投稿しようとしています。フォームを使用しておらず、アプリにUIの側面がありません。これが私のビュークラスです。
class FileUploader(APIView):
'''
Rest API for FileUploader
'''
permission_classes = (AllowAny,)
parser_classes = (MultiPartParser, )
@csrf_exempt
def post(self, request):
retval = Response(request.data, status=status.HTTP_201_CREATED)
logger.info('New post with the following data: {}'.format(request.data))
これにより、「TypeError:init()に必要な3つの位置引数がありません: 'META'、 'input_data'、および 'upload_handlers'」と表示されます。FormViewを使用する場合、投稿には3つのキーがあり、2つはファイルを表し、最後は文字列です。 。デバッグ中、リクエストにフィールドDataがなく、FILESが空であり、POSTに情報がありません。任意のポインタをいただければ幸いです。それが助けになるなら、私はもっとアップロードすることができます。
彼は複数のファイルをアップロードできましたが、私のファイルはアップロードしていませんので、重複ではありません。リクエスト内のファイルを見つける方法と、複数のファイルを受信するようにビューを設定する方法(シリアル化ではない)がないため、私は苦労しています。
ビュークラスを次のように記述します
from rest_framework.views import APIView
from rest_framework.response import Response
class FileUploader(APIView):
'''
Rest API for FileUploader
'''
permission_classes = (AllowAny,)
def post(self, request, *args, **kwargs):
files_list = request.FILES
data = request.data
return Response(data={"files": "{} files uploaded".format(len(files_list)),
"data": "{} data included".format(len(data))})
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加