我的编程空间,编程开发者的网络收藏夹
学习永远不晚

PythonFlask实现HTML文件压缩案例代码(9级压缩)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

PythonFlask实现HTML文件压缩案例代码(9级压缩)

本博客详细为你解释 Python Flask 框架下的 HTML 文件压缩内容,其第三方模块也可用在其他框架中。
本案例是基于 Python Flask 进行搭建,所以需要提前搭建一个 Flask 项目环境,有 app.py 文件和 templates/index.html 文件即可。

? 第三方库 Flask-compress

Flask 框架可以使用第三方库 Flask-compress 来实现 HTML 压缩。

安装 Flask-compress :

pip install Flask-compress

在 Flask 应用中使用 Flask-compress:

from flask_compress import Compress

app = Flask(__name__)
compress = Compress()
compress.init_app(app)

? 配合 render_template() 函数实现压缩

在使用 Flask-compress 和 render_template() 函数时,只需要确保在使用 render_template() 函数之前已经初始化了 Flask-compress。

但是这里测试的时候需要注意 Flask-compress 默认使用等级为 6 的压缩,并且默认不会对小于 150 bytes 的响应进行压缩。这意味着,如果响应的大小小于 150 bytes,Flask-compress 将不会对其进行压缩。所以测试 html 文件需要大一些。

除此之外,Flask-compress 默认对 html 使用的压缩类型是 br,这里还需要进行一下配置。

app = Flask(__name__)
app.config['COMPRESS_ALGORITHM'] = 'gzip'

代码编写完毕,接下来我们查看一下各种情况下的数据对比吧。

在这里插入图片描述

上图中的 Content-EncodingVary 是使用压缩之后新增的响应参数。

? Flask-compress 实例化时的其他参数

如果想使用其他压缩类型,可以使用 Flask-compress 的 Compress 类来进行设置。

COMPRESS_REGISTER

COMPRESS_REGISTER 参数默认为 True, 表示对所有视图返回的数据进行压缩,可以将其设置为 False,然后再对应视图上添加 @compress.compressed() 装饰器进行单视图压缩。

COMPRESS_MIMETYPES

COMPRESS_MIMETYPES 规定了对那些类型的返回数据进行压缩,默认值为:

['text/html', 'text/css', 'text/xml','application/json','application/javascript']

在实例化的时候,可以通过匿名函数进行设置

from flask_compress import Compress
compress = Compress()
compress.init_app(app, compress_level=9, compress_min_size=500,
                  compress_filter=lambda r: r.content_type.startswith('text/'))

COMPRESS_MIN_SIZE

该参数默认值是 500 bytes ,如果低于该值,不压缩,该值可以在实例化的时候进行配置。

compress = Compress()
compress.init_app(app, compress_level=9, compress_min_size=500)

使用上述初始化代码,就可以使用 9 级压缩了,即当响应体大小大于 500 bytes 时才进行压缩。

? flask-compress 模块原理

在 flask-compress 内部,利用 app 的 after_request() 方法为 flask 服务注册了一个钩子,当请求结束时就会执行 Comporess 的 after_request 方法。

插件中的代码如下:

app.after_request(self.after_request)

? compress.init_app() 详细参数表

使用 Flask-compress 时,你可以通过在初始化时传递参数来配置压缩行为。
compress.init_app() 函数可用的参数列表如下所示:

  • app: Flask 应用程序实例;
  • compress_level: 压缩级别,取值范围为 1-9,默认为 6,压缩级别越高,压缩效率越高,但是压缩时间也会越长;
  • compress_min_size:最小压缩字节数,取值为整数,默认为 500;
  • compress_filter: 一个可选的函数,用于确定哪些响应应该被压缩。

到此这篇关于Python Flask 实现 HTML 文件压缩,9 级压缩的文章就介绍到这了,更多相关Python Flask 实现 HTML 文件压缩内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

PythonFlask实现HTML文件压缩案例代码(9级压缩)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PythonFlask实现HTML文件压缩案例代码(9级压缩)

这篇文章主要介绍了PythonFlask实现HTML文件压缩案例代码(9级压缩),本案例是基于PythonFlask进行搭建,所以需要提前搭建一个Flask项目环境,有app.py文件和templates/index.html文件即可,需要的朋友可以参考下
2023-01-29

Android中文件的压缩和解压缩实例代码

使用场景 当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样会造成打包后的apk整体过大,此时就需要将放入的文件进行压缩.又如当我们需要从服务器中下载文件时,如果下载源文件耗时又消耗流量,较大文件需要压缩,可以使得
2022-06-06

C#实现批量压缩和解压缩的示例代码

这篇文章主要为大家详细介绍了如何利用C#实现批量压缩和解压缩的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
2022-12-26

Linux shell实现压缩多个文件代码实例

Linux环境下写一个脚本 从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件: 1.首先介绍一下case语句格式 2.脚本如下:DEST读取的是压缩后文件的名称,COMP读取的是压缩的方式 给文件加权限:创建三个文件:执行脚
2022-06-03

Linux gzip命令压缩文件实现原理及代码实例

gzip 是 Linux 系统中经常用来对文件进行压缩和解压缩的命令,通过此命令压缩得到的新文件,其扩展名通常标记为“.gz”。 再强调一下,gzip 命令只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。 gzi
2022-06-03

PHP Linux脚本操作实例:实现文件压缩与解压

在Linux系统中,文件的压缩与解压是经常使用的操作。PHP作为一种强大的服务器端编程语言,在Linux环境中同样可以使用PHP脚本来完成文件压缩与解压的操作。本文将介绍如何使用PHP脚本来实现文件的压缩与解压,并提供具体的代码示例。文件压
2023-10-21

Android图片实现压缩处理的实例代码

整理文档,搜刮出一个Android图片实现压缩处理的实例代码,稍微整理精简一下做下分享。详解:1.获取本地图片File文件 获取BitmapFactory.Options对象 计算原始图片 目标图片宽高比 计算输出的图片宽高2.根据宽高比计
2023-05-30

Java实现把文件压缩成zip文件的代码怎么写

本篇内容主要讲解“Java实现把文件压缩成zip文件的代码怎么写”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java实现把文件压缩成zip文件的代码怎么写”吧!实现代码ackage org.f
2023-06-29

.Net Core 多文件打包压缩的实现代码怎么写

本篇文章给大家分享的是有关.Net Core 多文件打包压缩的实现代码怎么写,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。最近项目需要实现多文件打包的功能,尝试了一些方法,最后
2023-06-22

Android实现下载zip压缩文件并解压的方法(附源码)

前言 其实在网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,所以这篇文章在此记录一下下载zip文件并直接解压的方法,直接上代码,文末有源码下载。下载:import java.io.BufferedInputStream;
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录