如果請求體沒有設置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