Flask:单击按钮即可下载 csv 文件 [重复]

js

1个回答

写回答

崽崽睡不醒

2025-07-09 23:15

+ 关注

Python
Python

Flask:单击按钮即可下载 csv 文件 [重复]

Flask是一个流行的Python Web框架,它为开发Web应用程序提供了简洁而强大的工具。本文将介绍如何使用Flask来实现一个功能,即通过单击按钮即可下载CSV文件。我们将逐步展示如何构建一个简单的Web应用程序,并添加相应的代码示例。

首先,我们需要安装Flask。可以使用pip命令来安装它:

pip install flask

安装完成后,我们可以开始编写我们的Flask应用程序。首先,我们需要导入必要的模块:

Python

from flask import Flask, render_template, send_file

import csv

接下来,我们创建一个Flask应用程序实例:

Python

app = Flask(__name__)

然后,我们定义一个路由,用于处理用户访问应用程序的根路径:

Python

@app.route('/')

def index():

return render_template('index.html')

在这个例子中,我们使用了render_template函数来渲染一个名为index.html的模板文件。接下来,我们需要创建这个模板文件。

在项目的根目录下创建一个名为templates的文件夹,并在其中创建index.html文件。在index.html文件中,我们可以添加HTML代码来构建我们的网页界面。以下是一个简单的示例:

html

<!DOCTYPE html>

<html>

<head>

<title>Download CSV</title>

</head>

<body>

<h1>Download CSV</h1>

<form action="/download" method="post">

<button type="submit">Download CSV</button>

</form>

</body>

</html>

在这个示例中,我们创建了一个表单,其中包含一个按钮,用于触发下载CSV文件的操作。表单的action属性指定了URL路径/download,并且使用POST方法提交表单。

接下来,我们需要定义处理下载请求的路由:

Python

@app.route('/download', methods=['POST'])

def download():

data = [['Name', 'Age', 'Gender'], ['John', '25', 'Male'], ['Jane', '30', 'Female']]

with open('data.csv', 'w', newline='') as file:

writer = csv.writer(file)

writer.writerows(data)

return send_file('data.csv', as_attachment=True, attachment_filename='data.csv')

在这个例子中,我们首先创建了一个包含一些数据的列表。然后,我们使用CSV模块将数据写入名为data.csv的文件中。最后,我们使用send_file函数将生成的CSV文件作为附件发送到用户的浏览器。

最后,我们需要运行我们的Flask应用程序:

Python

if __name__ == '__mAIn__':

app.run()

现在,我们可以通过运行应用程序并访问根路径来查看我们的网页界面。当用户单击下载按钮时,将自动下载名为data.csv的CSV文件。

在本文中,我们介绍了如何使用Flask来实现一个功能,即通过单击按钮即可下载CSV文件。我们使用Flask创建了一个简单的Web应用程序,并提供了相应的代码示例。通过这个示例,我们可以了解到如何使用Flask来处理用户请求并生成相应的文件下载。Flask是一个功能强大而灵活的Web框架,非常适合用于构建各种类型的Web应用程序。

希望本文对你有所帮助,谢谢阅读!

举报有用(4分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号