flask导出html,从Jinja2的模板瓶应用压缩HTML输出(Minify HTML output from Flas
是否有一个瓶或Jinja2的配置标记/扩展自动运行如下渲染模板后的HTML输出?
Answer 1:
看看这里https://github.com/cobrateam/django-htmlmin#using-the-html_minify-function
我知道它主要用于Django的,但示例演示如何使用此项目的代码做你想要什么用烧瓶观点,我觉得。
Answer 2:
找到一个更好的办法来做到这一点。 您可以运行如下用这种方法你所有的网页:
from flask import Flask
from htmlmin.main import minify
app = Flask(__name__)
@app.after_request
def response_minify(response):
"""
minify html response to decrease site traffic
"""
if response.content_type == u'text/html; charset=utf-8':
response.set_data(
minify(response.get_data(as_text=True))
)
return response
return response
Answer 3:
使用装饰。
from htmlmin.decorator import htmlmin
@htmlmin
def home():
...
或者,你可以使用:
re.sub(r'>\s+ ') # results ''
Answer 4:
我写了一个烧瓶延伸来实现这一目的。 您可以通过安装它pip install flask-htmlmin和源可在https://github.com/hamidfzm/Flask-HTMLmin 。 希望这将是有益的。
Answer 5:
我用下面的装饰
import bs4
import functools
import htmlmin
def prettify(route_function):
@functools.wraps(route_function)
def wrapped(*args, **kwargs):
yielded_html = route_function(*args, **kwargs)
soup = bs4.BeautifulSoup(yielded_html, 'html.parser')
return soup.prettify()
return wrapped
def uglify(route_function):
@functools.wraps(route_function)
def wrapped(*args, **kwargs):
yielded_html = route_function(*args, **kwargs)
minified_html = htmlmin.minify(yielded_html)
return minified_html
return wrapped
并简单地包裹着,像这样的默认render_template功能
if app.debug:
flask.render_template = prettify(flask.render_template)
else:
flask.render_template = uglify(flask.render_template)
这已经添加到缓存的是汽车的额外好处,因为我们实际上并不接触app.route
Answer 6:
为了扩大从@olly_uk答案和@Alexander评论的实用性,它看来, Django的htmlmin扩展现在被设计与Django的比其他框架中使用。
从文档在这里 ,您可以手动使用html_minify功能瓶的观点,就像这样:
from flask import Flask
from htmlmin.minify import html_minify
app = Flask(__name__)
@app.route('/')
def home():
rendered_html = render_template('home.html')
return html_minify(rendered_html)
Answer 7:
修改为htmlmin的最新版本@Bletch答案。
from flask import Flask
import htmlmin
app = Flask(__name__)
@app.route('/')
def home():
rendered_html = render_template('home.html')
return htmlmin.minify(rendered_html)
https://htmlmin.readthedocs.io/en/latest/quickstart.html
缩小的HTML仍然有标签之间的一些空间。 如果我们想删除,然后remove_empty_space =True属性需求的同时,模板被渲染以复加。
return htmlmin.minify(rendered_html, remove_empty_space =True)
https://htmlmin.readthedocs.io/en/latest/reference.html
文章来源: Minify HTML output from Flask application with Jinja2 templates
flask导出html,从Jinja2的模板瓶应用压缩HTML输出(Minify HTML output from Flas相关推荐
- flask框架中的Jinja2模板引擎
简介 在flask框架中通常使用Jinja2模板引擎来实现复杂页面的渲染. 本章主要介绍Jinja2模板引擎的基本结构和使用方法. 如何使用flask框架渲染模板 在模板中传递一个或者多个参数 if语 ...
- Flask学习之旅——2.1 模板简介及基础使用
Flask学习之旅--2.1 模板简介及基础使用 前言 本文为<知了传课--模板简介>的学习笔记. 原文地址:第一节:模板简介 - Python框架Flask基础教程 - 知了传课 (zl ...
- Flask Web开发——(二)模板
视图函数的作用是生成请求的响应.很多情况下,请求会改变应用的状态,而这种变化就发生在视图函数中. 以用户在网站中注册新账户的过程为例.用户在表单中输入电子邮件地址和密码,然后提交.服务器接收到包含用户 ...
- Flask学习之旅——2.2 模板过滤器
Flask学习之旅--2.2 模板过滤器 前言 本文为<知了传课--Jinja2模版过滤器>的学习笔记. 原文地址:第三节:模板过滤器 - Python框架Flask基础教程 - 知了传课 ...
- 【免费思维导图软件】万彩脑图大师教程 | 导出导入思维导图模板
在万彩脑图大师中, 你可以轻松导出导入思维导图模板进行保存或编辑,具体操作步骤如下: 一.导出模板 1)单击左上角的"文件"-点击"保存成模板"-输入标题,关键 ...
- java 动态导出excel表单 无模板文件下载
java 动态导出excel表单 无模板文件下载 public ResponseEntity<byte[]> exportStanding(@PathVariable Long signu ...
- java 动态导出excel表单 无模板本地生成
java 动态导出excel表单 无模板本地生成 这里使用的是alibaba的公共类excelWriter,注意在pom文件中要引入easyExcel的依赖 public void exportExc ...
- java使用EasyExcel实现导入导出几种方式(导入、模板导出、和不需要模板的导出)
java通过EasyExcel实现导入导出(导入.模板导出.和不需要模板的导出) 此文章只是涉及到简单的导入导出 通过实体模板导入数据 无实体模板导入数据 导出数据 通过模板导出数据 使用到的mave ...
- Flask学习之旅——2.6 模板继承
Flask学习之旅--2.6 模板继承 前言 本文为<知了传课--模版继承>的学习笔记. 原文地址:第八节:模板继承 - Python框架Flask基础教程 - 知了传课 (zlkt.ne ...
最新文章
- 2021年大数据基础(三):​​​​​​​​​​​​​​​​​​​​​大数据应用场景
- 半吊子架构师,一来就想干掉RabbitMQ ...
- 使COUNT(*)查询总数变快
- gradle更换仓库 解决下载速度慢问题
- CCF-CSP 201703-2 试题名称:	学生排队(满分代码)
- 科达南沙电子警察“扩编”
- python utf8_肿么在Python里使用UTF-8编码
- EasyUI combobox
- openpyxl 绘制饼形图_openpyxl3.0官方文档(13)—— 饼图
- 连续七天熬夜3D建模师终于出手,让老板增加薪资待遇,分享使用3D建模软件的6个行业
- Spring Boot 2 快速教程:WebFlux Restful CRUD 实践(三)
- Chrome , Firfox 对应IE fireEvent 的方法
- React 事件总结
- ai如何置入_AI中如何导入图形图像?
- coreldraw矫正两张图_CorelDRAW矫正图像方法-CDR中如何矫正图像_好特教程
- 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323
- october php,关于Laravel之October的安装配置过程
- ArcGIS空间数据分析实用工具——方向分布(标准差椭圆)
- C# 获取电脑序列号和主板序列号
- Kafka Exception:Bootstrap broker disconnected Consumer disconnected
热门文章
- Leetcode算法Java全解答--16. 最接近的三数之和
- 蒜头君:所谓角谷猜想,是指对于任意一个正整数,如果是奇数,则乘 33 加 11,如果是偶数,则除以 22,得到的结果再按照上述规则重复处理,最终总能够得到 11。如,假定初始整数为 5
- 用在游戏里的编程语言
- python十进制转八进制_python进制转换(二进制、十进制和十六进制)及注意事项...
- 10进制数转化为16进制数
- Error java: 程序包 不存在,解决
- 2004年,我们关注的新闻—IT
- 熊猫入金讲付费一种能力
- 【学习笔记】pytorch中squeeze()和unsqueeze()函数介绍
- Vue 将秒转化为时分秒