我正在尝试开发一个单页flask应用程序,它允许用户下载word文档。我已经知道如何使用python-docx创建/保存文档,但现在我需要在响应中提供该文档。有什么想法吗?
以下是我目前掌握的情况:
from flask import Flask, render_template
from docx import Document
from cStringIO import StringIO
@app.route('/')
def index():
document = Document()
document.add_heading("Sample Press Release", 0)
f = StringIO()
document.save(f)
length = f.tell()
f.seek(0)
return render_template('index.html')
4条答案
按热度按时间aamkag611#
除了
render_template('index.html')
之外,您还可以:bprjcwpo2#
您可以使用
send_from_directory
作为this答案。如果您正在发送文本,也可以使用
make_response
帮助器,如this answer中所示。w8f9ii693#
“* 为那些在我之后逝去的人**
参考这两个环节:
io.StringIO
现在取代了cStringIO.StringIO
此外,由于
document.save(f)
应接收pass或二进制文件,因此它将引发错误代码应如下所示:
plupiseo4#
用途
在您的情况下,Generate()应替换为f。有关详细信息,请参阅文件夹http://flask.pocoo.org/docs/1.0/patterns/streaming/中的流