上传excel文件然后解析导入数据是很常见的需求。在Django Rest Framework里,我们也可以很容易实现这样的功能。
在Django Rest Framework里,parser用来处理不同media type的请求。要处理文件上传,用MultiPartParser即可。
from rest_framework.parsers import MultiPartParser
from rest_framework.views import APIView
from rest_framework.response import Response
from pyexcel_xlsx import get_data
class FileUploadView(APIView):
parser_classes = (MultiPartParser,)
def post(self, request, format=None):
file_obj = request.data["file"]
data = get_data(file_obj)
import json
print(json.dumps(data))
print("here")
return Response(status=201)
复制代码
在url里做好相应的配置,就OK啦。 可以用postman来测试一下。
get_data
的返回值就是python的dict