扩展djangtable2

2024-10-03 21:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个很重的django-tables2用户,我想给django表添加一个通用扩展:我想让用户只需单击表附近的某个按钮,就可以将所有表数据导出到excel(使用xlwt)或csv。在

现在,我已经用一种非通用的方式实现了这一点,这意味着我在模板中包含了一个POST表单和一个按钮,并添加了一个检查,以查看按钮是否已被单击,即填充表的视图。如果单击该按钮,则返回xls而不是普通模板。我还实现了一个泛型函数,该函数获取django-table2表(任何表)并将其转换为xlwt表(以便将其放入工作簿)。在

这是很好的工作,但因为我将使用这个按钮,我的所有表,我不想添加导出表单和按钮,我的所有html模板将包含一个表。我也不想添加后检查我的所有意见!这绝对不是干的:(

理想情况下,我希望有一个类,比如说它是ExportTable,它将扩展django-tables2的表类,并且可以作为替代品使用ExportTable创建表时,按钮和视图将具有导出表所需的组件。据我所知,这是不可能的:(

有人能建议我应该以哪种方式扩展django-tables2,以便能够以最干巴巴的方式添加“export”功能?这意味着我可以在我的模板中只使用{%render_table table%}标记(或其扩展名),而不需要在视图中添加检查以查看用户是否单击了导出按钮(当然,不需要添加额外的视图和url路由来处理这个问题)。泛型类视图是正确的方法吗?在

我会接受最枯燥和完整的(我想有一些源代码与评论请)回答:)


Tags: csv数据django用户视图模板表单方式
2条回答

对于任何遇到这个问题的人来说,Django-tables2有一个专门用于使用tablib包以各种格式导出的部分。(从v1.8.0开始存在)

{a1}

...

Now, if you append _export=csv to the query string, the browser will download a csv file containing your data. Supported export formats are:

csv, json, latex, ods, tsv, xls, xlsx, yml

我使用django-tables2-reports将表2数据导出到csv和xls。我在mo(reported here)上遇到了xls问题,但我相信很快就会有解决方案。在

相关问题 更多 >