【发布时间】:2012-05-14 15:18:45
【问题描述】:
已更改问题:2012 年 5 月 5 日下午 2:34(太平洋标准时间)
我想知道是否可以从表单 POST 数据呈现模板,并在该模板中提供一个按钮/链接,指向模板中使用的相同 POST 数据的 Excel 电子表格。
我已经使用 POST 进行了 Excel 下载,并使用 POST 呈现了一个模板,但我希望在按下表单的提交按钮时发生以下情况: 1. 将视图中的信息发送到模板,让模板呈现信息,在模板中有一个按钮/链接,单击该按钮/链接时,会弹出一个窗口询问用户是否要打开/保存 .XLS 文件。
我用来执行每个操作的代码如下:
1 在新 URL 中呈现模板return render_to_response('report/result.html', {long dictionary}, context_instance=RequestContext(request))
2 使用模板导出为 .XLS 文件:response2 = render_to_response('report/result.html', {long dictionary}, context_instance=RequestContext(request))filename = "ToolboxReport%s.xls" % (datetime.now())response2['Content-Disposition'] = 'attachment; filename='+filenameresponse2['Content-Type'] = 'application/vnd.ms-excel; charset=utf-8'return response2
这是我的预定顺序: 1. 在选项页面:选择选项,点击生成报告按钮 2. 在结果页面:显示信息,显示按钮/链接以将此信息下载为 .XLS 3.(可选)点击下载按钮:打开/保存选项出现下载与.XLS相同的信息
我似乎无法从选项页面获取用于结果页面和 .XLS 下载的 POST 数据。
【问题讨论】:
-
所以你想提供一些文件并在同一个显示 html 页面上?我不确定这是可能的。您可能想要一个包含数据的页面,以及指向(在此页面上)xls 格式数据的链接?
-
这也可以:)这就是我目前正在尝试做的事情,但我也坚持这样做:(
-
我会考虑使用 django-tablib (github.com/joshourisman/django-tablib) 进行数据转换(查询集到 excel)。它甚至具有通用视图,允许您将查询集/数据集保存/导出为 Excel 表格。
-
我的 excel 文档按照我想要的方式生成,我只需要弄清楚如何以 html 格式显示结果,并提供 excel 电子表格的下载。
标签: django forms excel templates export