html、js简单实现含中文csv文件下载(后端为django)
2021-06-10 10:01
标签:writer char write 文件 数据库 日志 提取 attach int 1.在django views.py中使用HttpResponse: views.py首行加上utf-8编码,将默认unicode编码变为utf-8 下面是利用HttpResponse生成csv文件 从数据库中提取的数据中的中文可以用encode()方法编码,如下: 这里再说一下decode和encode方法的作用: 3.方法一 在html中直接链接到该url实现下载 4.方法二 在js中实现下载 在views方法中可以用GET得到传来的值 之后再在html文件中调用所写的js方法即可实现文件下载 html、js简单实现含中文csv文件下载(后端为django) 标签:writer char write 文件 数据库 日志 提取 attach int 原文地址:http://www.cnblogs.com/wq14061023/p/7296235.html1 # -*- coding:utf-8 -*-
1 response = HttpResponse(content_type=‘text/csv;charset=UTF-8‘)
2 response.write(codecs.BOM_UTF8) #加入BOM头才能在csv文件中添加中文,否则在excel中是乱码,此句必须加在下句的前面,不然没作用
3 response[‘Content-Disposition‘] = ‘attachment; filename="systemInteriorLog.csv"‘
4
5 writer = csv.writer(response)
6 writer.writerow([‘时间‘, ‘日志ID‘, ‘动作‘, ‘状态‘, ‘类型‘, ‘内容‘])
1 writer.writerow([ log.type.encode(‘utf-8‘), log.description.encode(‘utf-8‘)])
decode()将其他编码转换为unicode编码,如decode(‘gb2313‘)是将gb2312编码的字符串转为unicode编码;
encode()将unicode编码转换为其他编码,如encode(‘gb2312‘)是将unicode编码的字符串转为gb2312编码。
2.在url.py中配置views中方法的url路径1 url(r‘^download/csv‘, views.download_csv, name=‘dowmload_csv‘) #分别为路径名、方法名
1 button type="button"
2 onclick="location.href=‘download/csv‘">
3 下载
4 button>
1 window.location.href=‘download/csv‘;
1 var url = "www.xxx.com/index.php";
2 window.location.href = url + "?a=1&b=2";
3 //使用location.herf还可以实现向views中的request传值
4 window.location.href=‘/download/interior/csv‘+ ‘?a=‘+$scope.a+‘&b=‘+$scope.b;
1 @http_method_required(‘GET‘)
2 def get_interior_csv(request):
3 get_a = request.GET.get(‘a‘)
4 get_b = request.GET.get(‘b‘)
上一篇:转-webstorm快捷键
文章标题:html、js简单实现含中文csv文件下载(后端为django)
文章链接:http://soscw.com/index.php/essay/93090.html