首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

更高效的Python CSV文件导出(2)

更高效的Python CSV文件导出(2)

其他

上面我们使用DRF,并且也用了看起来复杂的YourModelListSerializer这种复杂的概念,主要目的是让大家知道DRF的方式,至于普通使用Django其实我们完全可以把renderer.render(data)换为上一篇文章
(writer.writerow(row) for row in rows) 这种形势。

关于CSV我们还可以用Django模板形式进行,和我们用rest_framework_csv模块思路差不多
简单给一个官方案例:

    csv_data = (
            ('First row', 'Foo', 'Bar', 'Baz'),
            ('Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"),
        )
        t = loader.get_template('my_template_name.txt') # 定义模板代码
        c = Context({
            'data': csv_data,
        })
    response.write(t.render(c))
    return response

虽然思路相似,但过程实现会麻烦较多,你要去切换模板代码书写,渲染,不推荐这种方式。

最后关于CSV我们就介绍到这里,结合上一篇主要两种方式:

    普通CSV导出+Celery Beat定时导出

    Django + DRF + 实时导出

原理都是Python内置模块CSV的一些变换,只是结合第三库,让我们操作更快更方便起来。
返回列表