【问题标题】:Django REST Framework - set filenameDjango REST Framework - 设置文件名
【发布时间】:2017-06-29 12:52:46
【问题描述】:

我有自定义渲染器(XLSXRender)及其作品,但下载的文件的标题只有“下载”而没有扩展名。如何设置带有文件扩展名的文件名?

XLSXRender 在settings.py 的默认渲染器中,我从文件renderers.py 调用我的应用程序。 XLSXRender 从查询集二进制文件而不是*.json 生成。观点经典viewsets.ModelViewSet

class CountryViewSet(viewsets.ModelViewSet):
    queryset = Country.objects.all()
    serializer_class = CountrySerializer

谢谢!

【问题讨论】:

  • 更清楚地解释您的问题。什么是 XLSXrenderer,它的代码在哪里?这个基于类的视图是做什么的?
  • @danilke,您可能应该在回复中添加 Content-Disposition 标头
  • @devxplorer ,谢谢,有帮助!

标签: django views rendering django-rest-framework


【解决方案1】:

嗯,同样的问题目前正在寻找最佳解决方案,这就是我现在的位置

class TileRendered(APIView):
    renderer_classes = (ZipFileRender, )

    def get(self, request):
        table = SampleDbProcedure.all()
        serializer = SampleDbProcedureSerializerTile(table, many=True)
        return Response(serializer.data, 
                        headers={'Content-Disposition': 'attachment; filename=test_download.zip'})

似乎比this工作得更好

【讨论】:

    猜你喜欢
    • 2017-12-06
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 2016-10-10
    • 2014-10-03
    • 2015-05-18
    相关资源
    最近更新 更多