2012-06-07 52 views
0

我遇到了使用zope的麻烦。 我只需要向客户端提供一个使用python xlwt模块创建的xls文件,但我没有找到实现该目的的方法。在zope中流式传输xls文件

在我的.pt文件中,我有一个调用.py函数的按钮,该函数正确创建文件,但不会将其提供给客户端浏览器。 我想以这样的方式

f = open(temp_file, 'rb').read() 
self.request.response.setHeader('Content-Type', 'application/vnd.ms-excel') 
self.request.response.setHeader('Content-Disposition',' attachment; filename=Excel_Workbook.xls') 
return f 

我怎么能这样做?

谢谢大家!

+0

您开放使用浏览器视图做到这一点?我使用浏览器视图和自定义的“文件流迭代器”来完成此操作,该文件流迭代器使用(并在完成时处置)临时文件。 – sdupton

回答

0

你是怎么称呼脚本的?您需要直接从URL调用它,而不是从模板中调用它。

包括下载URL在你的模板到您的Python脚本:

<a href="http://yoursite/path/to/script">Download an Excel spreadsheet</a>