You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Flask实现Word文件的生成与指定路径存储?

Flask 文本输入与Word文件生成功能实现指引

前置依赖安装

首先安装所需第三方库:
pip install flask python-docx

步骤1:调整前端输入表单

将原有接收电影名称的表单替换为接收句子输入的控件,示例模板代码(存放在templates/index.html):

<form method="POST" action="/process">
  <label>输入需要处理的句子:</label>
  <textarea name="user_sentence" rows="5" cols="60" required></textarea>
  <br>
  <button type="submit">提交处理</button>
</form>

你也可以保留单行输入框,只要确保表单控件的name属性和后端获取参数的字段对应即可。

步骤2:后端逻辑实现

初始化配置

首先在项目根目录创建用于存储Word文件的文件夹,比如命名为word_output,后端代码中配置路径:

from flask import Flask, render_template, request
from docx import Document
import os
from datetime import datetime

app = Flask(__name__)
# 配置Word文件存储路径
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
SAVE_FOLDER = os.path.join(BASE_DIR, 'word_output')
# 自动创建存储文件夹(如果不存在)
os.makedirs(SAVE_FOLDER, exist_ok=True)

路由处理逻辑

替换原有接收电影名的逻辑,新增生成Word存储的代码:

# 首页路由,返回输入表单
@app.route('/', methods=['GET'])
def index():
    return render_template('index.html')

# 处理提交请求的路由
@app.route('/process', methods=['POST'])
def process():
    # 接收用户输入的句子
    input_sentence = request.form.get('user_sentence', '').strip()
    if not input_sentence:
        return "输入内容不能为空,请返回重新输入"
    
    # 生成Word文件
    doc = Document()
    # 写入句子内容到Word
    doc.add_paragraph(input_sentence)
    # 生成不重复的文件名,避免文件覆盖,可根据需求自定义命名规则
    file_name = f"input_{datetime.now().strftime('%Y%m%d%H%M%S%f')}.docx"
    save_path = os.path.join(SAVE_FOLDER, file_name)
    doc.save(save_path)

    # 此处可以保留你原有后续业务逻辑,比如用输入的句子做其他计算返回结果
    return f"处理完成,文件已成功存储"

if __name__ == '__main__':
    app.run(debug=True)

注意事项

  • 生产环境部署时请关闭debug=True配置
  • 可根据业务需求新增输入内容长度、格式校验逻辑
  • 文件名命名规则可自行调整,比如加入用户标识、内容哈希值等
  • 若需要支持用户下载生成的Word文件,可额外新增返回文件流的路由逻辑

内容的提问来源于stack exchange,提问作者RandallCloud

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 17:15:05