Django_tables2插件在web应用开发中使用广泛,使用它可以快速实现将后台数据库中的信息在前端以表格的形式呈现给用户,深得程序员喜欢。而用来导出CSV文件的Tablib插件配合Django_tables2使用可谓是锦上添花。只要完成两个步骤:1. 在原来前端模板中添加一个超链接,2. 再在原来的视图函数上插入几行代码,就可以实现我们想要的功能。
1、 安装tablib插件
pip install tablib
2、在前端模板上添加一个超链接【导出清单】,html代码如下
<a href="{{ request.get_full_path }}{% if '?' in request.get_full_path %}&{% else %}?{% endif %}_export=csv">[导出清单]</a>
效果图:
3、在原来的视图函数上面加入如下代码;
export_format = request.GET.get("_export", None)
if TableExport.is_valid_format(export_format):
exporter = TableExport(export_format, table)
return exporter.response("table.{}".format(export_format))
4、启动测试服务器python manage.py runserver
5、在浏览器中打开测试网址,点击【导出清单】
屏幕会弹出窗口,提示打开或者保存CSV文件。