在 Django 中,可以使用 HttpResponse 对象来将数据以文件形式下载。

以下是一个示例视图函数,它将字符串作为 CSV 文件返回给用户:

import csv
from django.http import HttpResponse

def download_csv(request):
    data = [['Name', 'Age'], ['Alice', 25], ['Bob', 30], ['Charlie', 35]]

    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename='data.csv''

    writer = csv.writer(response)
    for row in data:
        writer.writerow(row)

    return response

在该示例中,我们首先定义了数据,它是一个包含列表的列表。然后,我们创建一个 HttpResponse 对象,并将其 content_type 设置为 'text/csv',这将告诉浏览器将响应解释为 CSV 文件。

接下来,我们将 Content-Disposition 标头设置为 'attachment; filename='data.csv'',这会提示浏览器将响应另存为名为 'data.csv' 的文件。

然后,我们创建一个 csv.writer 对象,并将数据写入 HttpResponse 对象中。最后,我们返回 HttpResponse 对象。

当用户访问 download_csv 视图时,他们将收到一个文件下载提示,提示他们保存名为 'data.csv' 的文件。该文件包含以逗号分隔的数据行,每行都表示数据中的一行。

Django 后端数据下载:CSV 文件生成与下载示例

原文地址: https://www.cveoy.top/t/topic/ooH1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录