3

ユーザーがワード文書をダウンロードできるようにする単一ページのフラスコアプリケーションをスピンアップしようとしています。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

4 に答える 4

5

代わりに、次のrender_template('index.html')ことができます。

from flask import Flask, render_template, send_file
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 send_file(f, as_attachment=True, attachment_filename='report.doc')
于 2014-11-20T01:07:24.410 に答える
1

この回答ではsend_from_directoryas を使用できます。

テキストを送信する場合は、この回答のようにmake_responseヘルパーを使用することもできます。

于 2014-11-20T01:07:47.030 に答える