之前使用 request.data 获取请求体中的数据。
这个 reqeust.data 的数据怎么来的呢?其实在drf内部是由解析器,根据请求者传入的数据格式 + 请求头来进行处理。

1.JSONParser image-20210827081058194.png

2.FormParser

image-20210827081244795.png

3.MultiPartParser

image-20210827083047327.png

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. </head>
  7. <body>
  8. <form action="http://127.0.0.1:8000/test/" method="post" enctype="multipart/form-data">
  9. <input type="text" name="user" />
  10. <input type="file" name="img">
  11. <input type="submit" value="提交">
  12. </form>
  13. </body>
  14. </html>

4.FileUploadParser

只能传文件
image-20210827084403453.png

解析器可以设置多个,默认解析器:
JSONParser, FormParser,MultiPartParser