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

liftword2周前 (05-08)技术文章11

缓存

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

整体缓存:是把视图函数的响应全部放在缓存存储区,用到的是装饰器@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把csv汇总成excel(python怎么将csv文件中的列存入列表)

最近领导安排让我每周定时把grafana导出的csv文件进行统计汇总工作,需要处理的csv文件还是蛮多的,况且还要每周重复汇总处理。干脆写个脚本,每周执行一遍脚本,既方便还不会出错。一、需求分析1....

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 CSV文件的读写和处理(csv python 读取)

一、介绍CSV文件的概念和结构CSV(Comma-Separated Values,逗号分隔值)是一种常见的文本文件格式,用于存储表格数据。CSV 文件以纯文本形式存储数据,使用逗号作为字段之间的分隔...

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

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