1.在django  views.py中使用HttpResponse

  views.py首行加上utf-8编码,将默认unicode编码变为utf-8

  1. # -*- coding:utf-8 -*-

  下面是利用HttpResponse生成csv文件

  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', '动作', '状态', '类型', '内容'])

  从数据库中提取的数据中的中文可以用encode()方法编码,如下:

  1. writer.writerow([ log.type.encode('utf-8'), log.description.encode('utf-8')])

 这里再说一下decode和encode方法的作用:
  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') #分别为路径名、方法名

3.方法一  在html中直接链接到该url实现下载

  1. <button type="button"
  2. onclick="location.href='download/csv'">
  3. 下载
  4. </button>

4.方法二  在js中实现下载

  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;

  在views方法中可以用GET得到传来的值

  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')

  之后再在html文件中调用所写的js方法即可实现文件下载

html、js简单实现含中文csv文件下载(后端为django)的更多相关文章

  1. Mysql load data infile 命令导入含中文csv源数据文件 【错误代码 1300】

    [1]Load data infile 命令导入含中文csv源数据文件 报错:Invalid utf8 character string: '??֧' (1)问题现象 csv格式文件源数据: 导入SQ ...

  2. 130ftp-python3 FTP简单实现文件下载(含中文乱码问题)

    130ftp-python3 FTP简单实现文件下载(含中文乱码问题) python3 FTP简单实现文件下载(含中文乱码问题) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  3. EChart.js 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  4. js简单验证码的生成和验证

    如何用js生成简单验证码,并验证是否正确的方法 1.html页面如下 <div> <table border="0" cellspacing="5&qu ...

  5. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923887518 处理错误请求 爱能遮掩一切过错. 当我们在访问一个站点的时候,如果访问的地址不存在(404), ...

  6. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志

    沪江CCtalk视频地址:https://www.cctalk.com/v/15114923883523 log 日志中间件 最困难的事情就是认识自己. 在一个真实的项目中,开发只是整个投入的一小部分 ...

  7. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON

    视频地址:https://www.cctalk.com/v/15114923886141 JSON 数据 我颠倒了整个世界,只为摆正你的倒影. 前面的文章中,我们已经完成了项目中常见的问题,比如 路由 ...

  8. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 视图Nunjucks

    视频地址:https://www.cctalk.com/v/15114923888328 视图 Nunjucks 彩虹是上帝和人类立的约,上帝不会再用洪水灭人. 客户端和服务端之间相互通信,传递的数据 ...

  9. iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 代码分层

    视频地址:https://www.cctalk.com/v/15114923889408 文章 在前面几节中,我们已经实现了项目中的几个常见操作:启动服务器.路由中间件.Get 和 Post 形式的请 ...

随机推荐

  1. 用CSS美化checkbox复选按钮和raido单选按钮-适用于移动端

    最终效果: 实现方法 index.html: <!DOCTYPE html> <html> <head> <title></title> & ...

  2. EF架构~codeFirst从初始化到数据库迁移

    一些介绍 CodeFirst是EntityFrameworks的一种开发模式,即代码优先,它以业务代码为主,通过代码来生成数据库,并且加上migration的强大数据表比对功能来生成数据库版本,让程序 ...

  3. Winform Timer用法,Invoke在Timer的事件中更新控件状态

    System.Timers.Timer可以定时执行方法,在指定的时间间隔之后执行事件. form窗体上放一个菜单,用于开始或者结束定时器Timer. 一个文本框,显示定时执行方法. public pa ...

  4. 遇到报ClassNotFoundException: Didn't find class "...Activity" on path: DexPathList

    有一个工程,本来运行是正常的,我想把它移植到另一台PC上,结果报: java.lang.RuntimeException: Unable to instantiate activity Compone ...

  5. 12.exception对象

    excepton对象是一个异常对象,当一个页面在运行过程中发生了异常,就产生了这个对象,如果一个jsp页面要应用此对象,就必须把isErrorPage设置为true,否则无法编译.它实际上是java. ...

  6. Java多线程中join方法详解

    join()方法用于让当前执行线程等待join线程执行结束.其实现原理是不停的检查join线程是否存活,如果join线程存活则让当前线程永远等待. join()方法部分实现细节 while(isAli ...

  7. QQ信鸽推送

    闲来无事,看看腾讯的信鸽推送! 优点: 1.毕竟大腿出的东西,不会太差 2.集成快 3.推送效率高,功能强,APP后台被杀的情况下同样能接受到推送. 废话少说,直接上代码: 源代码.zip

  8. HDU 2255 奔小康赚大钱(带权二分图最大匹配)

    HDU 2255 奔小康赚大钱(带权二分图最大匹配) Description 传说在遥远的地方有一个非常富裕的村落,有一天,村长决定进行制度改革:重新分配房子. 这可是一件大事,关系到人民的住房问题啊 ...

  9. docker~Dockerfile方式生成控制台和Api项目的镜像

    回到目录 一些理论知识 将控制台程序和API程序部署到docker,然后运行它,这个首先要解决的问题就是如何在linux平台运行C#代码,哈哈,很古老的问题,事实上,对于这种问题早在几年前就已经有了解 ...

  10. 浅谈游戏中BOSS设计的思路

    对于大多数游戏来说,BOSS在其设计上都有着不可替代的作用,也是玩家印象最为深刻的一部分.近期自己也有在做BOSS的设计工作,有一些心得想要分享一下: 1.明确BOSS的设计目的 在设计之初,我们一定 ...