缩小HTML输出的简单Django模板加载器。

django-template-minifying-loader的Python项目详细描述


django应用程序,提供简单的模板加载程序。它通过去掉html和django模板标记之间的空白字符来减少模板中的html输出。这是与django 1.10一起工作的django-template-minifier的更新。

注意事项:

安装

pip install django-template-minifying-loader

基本用法

修改django项目设置的模块。

用于生产(注意缓存的加载程序):

TEMPLATES=[{'DIRS':[str(APPS_DIR.path('templates')),],'OPTIONS':{'loaders':['django.template.loaders.cached.Loader','template_minifying_loader.loaders.filesystem.Loader','template_minifying_loader.loaders.app_directories.Loader',],},},]

用于开发(每次刷新重新加载模板):

TEMPLATES=[{'DIRS':[str(APPS_DIR.path('templates')),],'OPTIONS':{'loaders':['template_minifying_loader.loaders.filesystem.Loader','template_minifying_loader.loaders.app_directories.Loader',],},},]

很高兴在你的模板中有更少的空间和新行!

高级用法:

使用修改的设置,您可以: *关闭在HTML标记之间剥离空格

TEMPLATE_MINIFIER_HTML_TAGS=False# default = True
  • 关闭django模板标记(s{%,%}s)之间的分隔符
TEMPLATE_MINIFIER_TEMPLATE_TAGS=False# default = True
  • 关闭所有剥离功能
TEMPLATE_MINIFIER=False# default = True
  • 运行自己的strip_函数,该函数对模板进行预处理
TEMPLATE_MINIFER_STRIP_FUNCTION='template_minifier.utils.strip_spaces_in_template'

(变量名称有误,请参见2了解详细信息)

  • 仅在生产中使用
ifDEBUG:TEMPLATE_MINIFIER=False

已知问题:

  • 不要在内联javascript<;script>;或.js模板中使用//one line注释。在某些情况下,如果您在那里使用了大量{%if%},它可以注释掉};或},例如:
// comment something - !!it's evil!!
{%if%}functionname(){}{%endif%}

使用/**/代替

/* comment something - it's nice and clean <3! */{%if%}functionname(){}{%endif%}

或者只设置template_minifier_template_tags=false

待办事项:

  • {%new_line%}模板标记

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在数据库中存储密码的java加密方法   java正则表达式否定整个正则表达式   java为什么要得到这个Hashmap输出?   看不到玻璃鱼爪哇SE 6   类对象包装器中的Java基本数据字段   java从文本文件中读取整数并存储到单独的变量中?(扫描仪)   优化大型Java数据阵列的处理和管理   如何使用Java XML包装类创建对象   java为ExecutorService invokeAll()创建包装器   java如何在Android Studio 1.0.0中设置Facebook SDK?获取SDK位置未找到错误   java在尝试从线程启动动画时调用了FromErrorThreadException   java根据哈希确认文件内容   通过java在neo4j中获取索引值相同的所有节点?   java为什么我的Validare邮政编码(布尔)程序返回false?   java会话自动从servlet/jsp生成,尽管存在以下条件:<%@page session=“false”%>   创建新LANsocket时拒绝java连接   java如何多线程更新由sql代码更新的数据库?   安卓 Java使用类作为集合来添加项   安卓为什么我的清单文件不声明java包?