我想在上传几种类型的文件时创建解析器。解析后,我想为每个上传的文件创建模型。
我创建了一个使用xyz文件并将其解析为字典的函数。
我创建一个APIView,该APIView可以处理请求并应用我的函数:
我需要更方便,更灵活的代码,其中每个班级都有单独的职责。我想我需要DRM序列化器和解析器。但是我该如何连接它们?
views.py
class parseXYZfile(generics.CreateAPIView):
# serializer_class = parseXYZFileSerializer
# parser_classes = [XYZFileParser]
def post(self,request):
files_data_list = request.FILES.getlist("files")
d = {}
for data in files_data_list:
path = default_storage.save('tmp/tmp_file.xyz',ContentFile(data.read()))
tmp_file = os.path.join(settings.MEDIA_ROOT,path)
d[str(data)] = parseXYZ(tmp_file)
os.remove(tmp_file)
return Response(d)