Django Rest Framework作为响应返回docx文件

问题描述

我有一个函数,应在将文件保存到数据库之前使用request.data生成docx文件

SaveDataAndReturnDocx 

Views.py

SaveDataAndReturnDocx  
class SaveDataAndReturnDocx(generics.ListCreateAPIView):
    queryset = ClientData.objects.all()
    serializer_class = ClientDataSerializer
    
    def create(self,request,*args,**kwargs):

        docxContractGenerate(request.data)

        serializer = self.get_serializer(data=request.data,many=isinstance(request.data,list))
        serializer.is_valid(raise_exception=True)
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        
        return Response(serializer.data,status=status.HTTP_201_CREATED,headers=headers)

Service.py ,这里我有一个函数(使用了 docxtpl 库),该函数可以更改并呈现docx模板

def docxContractGenerate(data):
      #print('-------------DOCS-------------')
      doc = DocxTemplate("docs/template.docx")
      #print(doc)
      context = data
      doc.render(context)
      doc.save("docs/"+context['director']+".docx")

我尝试发送文档的url,但是我不想将数据存储在存储中。 最好通过响应发送文件,但不要将其保存在存储中。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)