一直都body是用json,今天突然换了 application/x-www-form-urlencoded,获取request.data就报错了。
原因是没有配置解析器:
# JSONParser:请求头content-type为application/json
# FormParser:请求头content-type为application/x-www-form-urlencoded
# MultiPartParser: 请求头content-type为multipart/form-data
# FileUploadParser:上传文件
解决方法:在全局配置DEFAULT_PARSER_CLASSES加解析器
'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', 'rest_framework.parsers.FormParser', 'rest_framework.parsers.MultiPartParser', 'rest_framework.parsers.FileUploadParser', ),