如何在django rest_framework_csv中为CSVRender设置分隔符



rest_framework_csv使用模块csv。我找不到为csv序列化传递分隔符参数的方法。

我使用此处所述的模块https://github.com/mjumbewu/django-rest-framework-csv。但我看不到自定义分隔符或设置引号=csv.QUOTE_ALL.的方法

我需要帮助。

没有经过测试,但挖掘这个片段可以帮助您解决问题:

from rest_framework_csv.renderers import CSVRenderer
class SpecialCharSeparator (CSVRenderer):
    def render(self, data, media_type=None, 
                     renderer_context=None, writer_opts=None):
        if writer_opts is None:
            writer_opts = {}
        new_writer_opts = {'delimiter':'|'}
        new_writer_opts.update( writer_opts )
        return (super(SpecialCharSeparator, self)
               .render(data, media_type, 
                      renderer_context, 
                      writer_opts=new_writer_opts)  #set your delimiter here
               )

然后使用SpecialCharSeparator作为rederer:

class MyView (APIView):
    renderer_classes = (r.SpecialCharSeparator, ) + ...

最新更新