如果请求体没有设置content type默认视为form,可以通过DEFAULT_PARSER_CLASSES设置。
可以针对每个view设置其parser_classes。
JSONParser application/json
FormParser application/x-www-form-urlencoded
MultiPartParser multipart/form-data
FileUploadParser /
如果请求的url中包含了filename关键字则会视为文件名,否则需要在Content-Disposition头部中指定:
Content-Disposition: attachment; filename=upload.jpg
由于FileUploadParser接收的media_type可为任意类型,所以对应的view最好仅指定该parser
如果是webbased的文件上传 最好使用MultiPartParser
CustomParsers
djangorestframework-yaml --> YAMLParser
djangorestframework-xml --> XMLParser
djangorestframework-msgpack --> msgpack
djangorestframework-camel-case-json --> camel-case-json
网友评论