24.-Django生成csv文件及下载

一、csv文件定义
逗号分隔值(comma-separated values, csv,有时页称字符分隔值,因为分分隔字符页可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)
说明:可被常见制表工具,如excel进行读取
 
二、python中生成csv文件
python提供了内建库-csv,可直接通过该库操作csv文件
案例如下
import csv

with open('eggs.csv','w',newline='') as csvfile:
    writer = csv.writer(csvfile)   # 生成写文件对象
    writer.writerow(['a','b','c']) #第一行写入a,b,c

 

 
三、csv文件下载
在网站中,实现下载csv文件,注意如下:
响应Conten-Type类型需要修改为text/csv 这告诉浏览器该问的是csv文件,而不是html文件
响应会获得一个额外的Content-Disposition标头,其中包含csv文件的名称,它将被浏览器开启 ‘另存为’对话框
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import csv
from django.http import HttpResponse
from .moldes import Book
 
 
def make_csv_view(request):
    response = HttpResponse(content_type = 'text/csv') #修改响应头
    response['Content-Disposition] = 'attachment;filename = "test.csv"'   # attachment格式不可变
    all_data = Book.objects.all()
     
    writer = csv.writer(response) #生成写对象
    writer.writerow(all_data)
    return response
     
# 页绑定对应路由视图即可下载

  

作者:木子七

出处:https://www.cnblogs.com/Mickey-7/p/15792094.html

posted @   木子七  阅读(191)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示
workspaces
keyboard_arrow_up dark_mode palette
选择主题