クライアントUIは、1つのファイルまたは複数のファイルを送信できます。 私のバックエンドはそれを受け取ると、それが単一のファイルか複数のファイルかをチェックしたいと思います。 シングルの場合、私はそれをまっすぐに渡します(これはすでに動作しています)。 しかし、それが複数のファイルの場合は、最初に圧縮してから渡したいと思っています。Django Rest Frameworkでは、ファイルのアップロードが複数であるかどうかをバックエンドでチェックできますか?
Django Rest Frameworkがどこで検証を行っているのか把握していません。 私はシリアライザにしても、ビュー
class CTDWorkSerializer(serializers.ModelSerializer):
class Meta:
model = CTDWork
fields = ('wo_id', 'owner', 'created',
'purpose', 'work_type',
'reviewer', 'status', 'upload', 'download')
read_only_fields = ('download',)
def update(self, validated_data):
print "foo"
return validated_data
との両方で試してみました:
class CTDWorkDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = CTDWork.objects.all()
serializer_class = CTDWorkSerializer
permission_classes = (permissions.IsAuthenticated, IsCurrentUserOrAdmin)
parser_classes = (FormParser, MultiPartParser,)
def perform_update(self,serializer,format=None):
print "bar"
私はビューにrequest.FILES.getlist(「ファイル」)を使用することを考えていますが、サーバーは常に私のログに何かを印刷する前に要求を拒否してください。 何が起こったのですか? Djangoはいつどこでhttpリクエストを検証し、拒否しますか?トニーのおかげ
を置きますself.context ['request'] 'available – Tony
Tony、私のビューのput()をオーバーライドする方法は? – ipr