「python+django」django中缓存,中间件,分页和CSV文件的使用

liftword2个月前 (05-08)技术文章21

缓存

服务器端缓存是为了加快数据读取的存储方式。

整体缓存:是把视图函数的响应全部放在缓存存储区,用到的是装饰器@cache_page(15)

局部缓存:先用caches或者import cache引入cache对象,

浏览器端也可以缓存,这个时候浏览器不会向服务器发送请求,直接从缓存中读取资源。

中间件

中间件是轻量级的插件系统,用于全局改变django的输入或者输出。浏览器发送请求给主路由,找到对应的视图,服务器再返回响应给浏览器。主路由,视图和信息返回前面都可以嵌入中间件。Procees_request用在执行路由之前,process_view视图之前被调用,process_response响应返回浏览器之前被调用,process_exception处理过程中抛出异常时被调用,process_template_response视图执行完毕且视图返回的对象中包含render方法时被调用。具体用法如下图:

分页

分页是指在web页面有大量数据需要显示,为了阅读方便在每个页面只显示部分数据。Django提供了paginator类用于分页功能的实现。下面的例子中数据给到Paginator类,他负责分配, 每页显示多少条数据。Page用来掌握每一页具体的显示情况,比如第一页显示a,b。

首先循环一下page对象,将数据全部拿到。如果有上一页,显示一个标签,可以点开,如果没有上一页,设置为一个普通的字符,点不开。中间部分的逻辑是,如果循环到的页码和当前页码是一致的,那么当前页就是一个字符。如果是非当前页的页码,用a标签做成可点击的链接。

CSV文件

Python提供了内建库CSV,可直接通过该库操作CSV文件。要在网站中实现下载CSV,响应头中content_type类型修改为text/csv,响应会获得一个额外的content_disposition标头,其中包含CSV文件的名称。它将被浏览器用于开启“另存为…”对话框。


相关文章

python爬虫25 | 爬取的数据怎么保存?CSV了解一下

大家好我是小帅b是一个练习时长两年半的练习生喜欢唱!跳!rap!篮球!敲代码!装逼!不好意思我又走错片场了接下来的几篇文章小帅b将告诉你如何将你爬取到的数据保存下来有文本文件、redis、数据库(My...

将MySQL查询结果输出为CSV格式的方法

技术背景在数据库管理和数据分析中,我们常常需要将MySQL查询结果以CSV格式输出,方便在其他工具(如Excel、Python数据分析库)中进行进一步处理。然而,由于CSV格式有其特定的规范,如字段分...

Django 如何使用视图动态输出 CSV 以及 PDF

Django 如何使用视图动态输出 CSV 以及 PDF这一篇我们需要用到 python 的 csv 和 reportLab 库,通过django视图来定义输出我们需要的 csv 或者 pdf 文件。...

Python版的迷你程序——json文件转换为csv

浅话C语言是过去几十年软件和硬件两个阵营之间,签署的最坚实的契约。硬件为C语言的语义提供了最能发挥其性能的基础构件,而软件虽然搞了很多的圆环套圆环般的层次,但最终都以C语言作为最后的沉淀收尾。----...

Python CSV 模块通关秘籍:数据表格处理不求人

对话实录小白:(苦恼)我导出的CSV用Excel打开全是乱码!专家:(递上秘籍)(掏出魔法书)**编码问题!用utf-8-sigma保存!CSV格式初体验CSV后缀的文件是标准文件格式,可以通过文本编...

Python3处理csv文件的数据方法、代码、实例

1.CSV 就是(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。 由于是纯文本,任何编辑器也都可打开。与Excel文件不同,CSV文件中:1)值没有类型,所有值...