django入门与实践教程.PDF,django笔记

  django入门与实践教程.PDF,django笔记

  学习笔记,仅供参考,有错必纠

  参考自:Django打造大型企业官网黄y;

  文章目录战斗支援车文件生成小的战斗支援车文件将` csv 文件定义成模板生成大的战斗支援车文件StreamingHttpResponse类

  战斗支援车文件

  生成小的战斗支援车文件

  首先,我们在项目文件夹的views.py文件中,定义一个视图函数:

  导入战斗支援车

  从django.http导入HttpResponse

  定义csv_view(请求):

  response=http响应(content _ type= text/CSV )

  #初始化HttpResponse的时候,指定内容类型为文本/csv

  响应[内容处置]=附件;filename=somefilename.csv

  #在反应中添加一个内容-处置头

  #附件:浏览器将不会对这个文件进行显示,而是作为附件的形式下载

  #filename=somefilename.csv :指定这个战斗支援车文件的名字

  writer=csv.writer(响应)

  #使用战斗支援车模块的作者方法,将相应的数据写入到反应中

  writer.writerow([用户名,年龄,身高,体重])

  writer.writerow([黄, 19 , 30 , 12])

  返回响应

  在主urls.py文件中,我们添加路由:

  来自姜戈. contrib导入管理

  从django.urls导入路径

  从。导入视图

  从django.conf.urls导入包括

  urlpatterns=[

  路径( admin/,admin.site.urls),

  路径( csv_view/,views.csv_view,name=csv_view ),

  ]

  向http://127.0.0.1:8000/csv_view发起请求,某个文件名。战斗支援车文件被下载:

  打开该文件:

  将战斗支援车文件定义成模板

  我们还可以将战斗支援车格式的文件定义成模板,然后使用姜戈内置的模板系统,并给这个模板传入一个语境对象,这样模板系统就会根据传入的语境对象,生成具体的战斗支援车文件。

  首先,我们定义一个模板文件下载。html:

  {% for row in rows %} {{ row.0 }},{{ row.1 }}

  {% endfor %}

  在views.py文件中定义一个视图函数:

  定义csv_view(请求):

  response=http响应(content _ type= text/CSV )

  响应[内容处置]=附件;filename=somefilename.csv

  上下文={

  行:[

  [用户名,年龄],

  [《黄》,19]

  ]

  }

  模板=加载器。get _ template("下载。html”)

  csv _模板=template.render(上下文)

  response.content=csv _模板

  返回响应

  向http://127.0.0.1:8000/csv_view发起请求,打开下载后的战斗支援车文件:

  生成大的战斗支援车文件

  我们可以借助StreamingHttpResponse对象,这个对象是将响应的数据作为一个流返回给客户端,而不是作为一个整体返回。

  首先,我们在views.py文件中添加视图函数:

  def large_csv_view(请求):

  response=StreamingHttpResponse(content _ type= text/CSV )

  响应[内容处置]=附件;filename=largeFile.csv

  rows=(Row {},Value {}\n .范围(0,100)中的行的格式(排,排))

  response .串流内容=行

  返回响应

  定义主urls.py文件:

  来自姜戈. contrib导入管理

  从django.urls导入路径

  从。导入视图

  从django.conf.urls导入包括

  urlpatterns=[

  路径( admin/,admin.site.urls),

  path(,views.index,name=index ),

  路径( csv_view/,views.csv_view,name=csv_view ),

  path(large_csv_view/,views.large_csv_view,name=large_csv_view ),

  ]向http://127 .0 .0 .1:8000/large _ CSV _ view发起请求,largeFile.csv文件被下载:

  StreamingHttpResponse类

  这个类是专门用来处理流数据的。使得在处理一些大型文件的时候,不会因为服务器处理时间过长而到时连接超时。这个类不是继承自HttpResponse并且跟HttpResponse对比有以下几点区别:

  该类没有属性内容,但有streaming_content。该类的streaming_content必须是可以迭代的对象。这个类没有写方法。如果你写数据到这个类的对象,你会得到一个错误。注意:StreamingHttpResponse会启动一个进程与客户端保持长时间的连接,所以会消耗大量的资源。所以如果不是特殊要求,尽量少用这种方法。

  转载请联系作者获得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • kotlon协程,深入理解kotlin协程pdf,一文彻底搞懂Kotlin中的协程
  • 深入解析C#(第4版),深入解析css pdf,深入解析contentWindow, contentDocument
  • java 反射机制原理与用法详解视频,java 反射机制原理与用法详解pdf
  • java 反射机制原理与用法详解视频,java 反射机制原理与用法详解pdf,Java 反射机制原理与用法详解
  • ,,Java使用iTextPDF生成PDF文件的实现方法
  • ,,Python利用PyMuPDF实现PDF文件处理
  • 漫画算法小灰的算法之旅pdf,漫画算法2-小灰的算法进阶
  • devops和自动化运维实践 PDF,devops思想在运维方面的具体实践
  • pdf如何去除水印,pdf去水印的三种方法
  • 把a4的内容打印成a3小册子,a4的pdf文档如何打印成a3
  • nlp自然语言处理入门pdf,精通python自然语言处理 pdf
  • 容器docker基本操作,每天5分钟玩转docker容器技术 pdf
  • sklearn中文手册pdf下载,sklearn库模块及函数
  • 留言与评论(共有 条评论)
       
    验证码: