Simple Django template loader that minifies html output.
Project description
Django application, providing simple template loader. It reduces HTML output in templates by stripping out whitespace characters between HTML and django template tags. This is an update of django-template-minifier that works with django 1.10.
Things to note:
It does not make any fancy compression, to do that use GZip Middleware.
To compress CSS and JS use django-compressor.
Installation
via virtualenv - yup we highly recommend it!
pip install django-template-minifying-loader
Basic usage
Modify Your Django project settings’s module.
For production (note cached loader):
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',
],
},
},
]
For development (each refresh reloads template):
TEMPLATES = [
{
'DIRS': [
str(APPS_DIR.path('templates')),
],
'OPTIONS': {
'loaders': [
'template_minifying_loader.loaders.filesystem.Loader',
'template_minifying_loader.loaders.app_directories.Loader',
],
},
},
]
Be happy having less spaces and new lines in Your templates!
Advanced usage:
Using modified settings You can: * turn off stripping spaces between HTML tags
TEMPLATE_MINIFIER_HTML_TAGS = False # default = True
turn off stripping spaces between Django template tags (s{%, %}s)
TEMPLATE_MINIFIER_TEMPLATE_TAGS = False # default = True
turn off all stripping
TEMPLATE_MINIFIER = False # default = True
run Your own strip_function, which preprocess templates
TEMPLATE_MINIFER_STRIP_FUNCTION = 'template_minifier.utils.strip_spaces_in_template'
(There is a typo in variable name, see #2 for details)
use only in production
if DEBUG:
TEMPLATE_MINIFIER = False
Known issues:
Don’t use // one line comments in Your inline javascript <script> or .js templates. In some cases, if You are using lot of {% if %} there, it can comment out }; or }, for example:
// comment something - !!it's evil!!
{% if %}
function name(){
}
{% endif %}
Use /* */ instead
/* comment something - it's nice and clean <3! */
{% if %}
function name(){
}
{% endif %}
Or just set TEMPLATE_MINIFIER_TEMPLATE_TAGS = False
To do:
{% new_line %} template_tag
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-template-minifying-loader-1.1.tar.gz
.
File metadata
- Download URL: django-template-minifying-loader-1.1.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30405bfbda1b2b00794451cfb965cb37caa77dfab3ee1afeb4941aa313de1f22 |
|
MD5 | 30403b71a8203c96baf0c9e5772cf6be |
|
BLAKE2b-256 | 9779e6f7e6baea5894632e1aeef74c2a38193b3a1a3ca3e0a2a910639d9f5f76 |