django tables2导出到xlsx:如何使用FBV设置导出的文件名?

时间:2018-01-12 15:35:03

标签: django export export-to-excel django-tables2

Django==1.11.7
django-tables2==1.10.0
tablib==0.11.2

使用基于函数的视图,如何设置导出的文件名?

表2文档为基于类的视图提供了解决方案,但基于函数的视图并不清楚: http://django-tables2.readthedocs.io/en/latest/pages/export.html?highlight=function%20based%20views

它提到了“export_name”,但是需要在哪里设置?

试试这个:

def export_payment_list(request):
    _table = PaymentTable4Export(Payment.objects.all().order_by('-payment_date'))
    RequestConfig(request).configure(_table)

    exporter = TableExport('xlsx', _table)
    return exporter.response('table.{}'.format('xlsx'), filename='my_test')

...导致错误:

Exception Type: TypeError
Exception Value:    
response() got multiple values for argument 'filename'

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

看起来response()的第一个参数是文件名。

如果您希望文件名为my_test.xlsx,请尝试:

return exporter.response(filename='my_test.xlsx')