【问题标题】:how set delimitor for CSVRenderer in django rest_framework_csv?如何在 django rest_framework_csv 中为 CSVRenderer 设置分隔符?
【发布时间】:2015-12-10 13:33:44
【问题描述】:
【问题讨论】:
标签:
python
django
csv
django-rest-framework
【解决方案1】:
未经测试,但digging code 这个片段可以帮助您解决问题:
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, ) + ...