用于python框架的html minifier(不仅仅是django,尽管有名字)。
django-htmlmin的Python项目详细描述
django html是一个用于python的html小型化器,完全支持html 5。它 支持django、flask和许多其他python web框架。它还提供了 命令行工具,可用于静态网站或部署脚本。
为什么要缩小HTML代码?
客户端优化的一个重要点是缩小html。与 缩小了html代码,减少了从服务器传输的数据的大小 对于客户端,这会导致更快的加载时间。
安装
要安装django htmlmin,请在终端上运行此命令:
$ [sudo] pip install django-htmlmin
使用中间件
您只需在MIDDLEWARE_CLASSES中添加两个中间产品,然后 启用HTML_MINIFY设置:
MIDDLEWARE_CLASSES=(# other middleware classes'htmlmin.middleware.HtmlMinifyMiddleware','htmlmin.middleware.MarkRequestMiddleware',)
注意,如果您使用的是django的缓存中间件, MarkRequestMiddleware应该在FetchFromCacheMiddleware之后,并且 HtmlMinifyMiddleware应该在UpdateCacheMiddleware之后:
MIDDLEWARE_CLASSES=('django.middleware.cache.UpdateCacheMiddleware','htmlmin.middleware.HtmlMinifyMiddleware',# other middleware classes'django.middleware.cache.FetchFromCacheMiddleware','htmlmin.middleware.MarkRequestMiddleware',)
您可以选择指定HTML_MINIFY设置:
HTML_MINIFY=True
HTML_MINIFY设置的默认值是not DEBUG。只有你 如果要在^{tt11}时缩小html代码,需要将其设置为True。$ 已启用。
排除一些url
如果您不想缩小应用程序中的所有视图,并且它位于/my_app url,您可以告诉中间件不要通过 在设置中添加EXCLUDE_FROM_MINIFYING设置。py:
EXCLUDE_FROM_MINIFYING=('^my_app/','^admin/')
regex模式用于url排除。如果要排除的所有URL 你的应用程序,除了一个特定的视图,你可以使用decorator @minified_response(请检查上面的下一节)。
保留评论
中间件的默认行为是删除所有html注释。如果你 要保留注释,请设置KEEP_COMMENTS_ON_MINIFYING 到True:
KEEP_COMMENTS_ON_MINIFYING=True
使用装饰器
django htmlmin还提供了一个decorator,您只能在视图上使用它。 要缩小响应:
fromhtmlmin.decoratorsimportminified_response@minified_responsedefhome(request):returnrender_to_response('home.html')
避免响应被缩小的装饰器
如果需要,可以在视图上使用not_minified_responsedecorator 避免缩小任何特定响应,而不使用 EXCLUDE_FROM_MINIFYING设置:
fromhtmlmin.decoratorsimportnot_minified_response@not_minified_responsedefhome(request):returnrender_to_response('home.html')
使用html_minify函数
如果不使用django,则可以调用html_minify函数 手动:
fromhtmlmin.minifyimporthtml_minifyhtml='<html> <body>Hello world</body> </html>'minified_html=html_minify(html)
下面是一个带有Flask视图的示例:
fromflaskimportFlaskfromhtmlmin.minifyimporthtml_minifyapp=Flask(__name__)@app.route('/')defhome():rendered_html=render_template('home.html')returnhtml_minify(rendered_html)
保留评论
默认情况下,html_minify()将删除所有注释。如果你想留着它们, 您可以通过ignore_comments=False:
fromhtmlmin.minifyimporthtml_minifyhtml='<html> <body>Hello world<!-- comment to keep --></body> </html>'minified_html=html_minify(html,ignore_comments=False)
使用命令行工具
如果您甚至不使用python,那么可以使用pyminify命令行 缩小HTML文件的工具:
$ pyminify index.html > index_minified.html
如果需要,您还可以保留评论:
$ pyminify --keep-comments index.html > index_minified_with_comments.html
社区
irc频道
#cobrateam频道在irc.freenode.net
更改日志
您可以在 Github releases page。
许可证
除非另有说明,否则django-htmlmin源文件是分布式的 在许可文件中找到的bsd样式许可下。