Django Premailer¶
Django template tag that turns CSS blocks into style attributes using premailer.
It supports Django 1.6+ for Python versions 2.7, 3.3, 3.4, 3.5 and pypy (where the Django version supports the Python version).


Contents¶
Installation¶
You can install django-premailer either via the Python Package Index (PyPI) or from github.
To install using pip;
$ pip install django-premailer
From github;
$ pip install git+https://github.com/alexhayes/django-premailer.git
Usage¶
Use the premailer
template tag around HTML where you need inline CSS:
{% load premailer %}
{% premailer "http://example.com" %}
<html>
<style type="text/css">
h1 { border:1px solid black }
p { color:red;}
.c {
background-color: #FF6600;
}
.c td {
background-color: #CCCCCC;
}
</style>
<h1 style="font-weight:bolder">{{ eggs }}</h1>
<p><a href="/blah/">Hej</a></p>
<table class="c">
<tr>
<td></td>
</tr>
</table>
</html>
{% endpremailer %}
The rendered template would look as so;
<html>
<head></head>
<body>
<h1 style="border:1px solid black; font-weight:bolder">Sausage</h1>
<p style="color:red"><a href="http://example.com/blah/">Hej</a></p>
<table style="background-color:#F60" bgcolor="#F60">
<tr>
<td style="background-color:#CCC" bgcolor="#CCC"></td>
</tr>
</table>
</body>
</html>
Settings¶
If you need more control over premailer’s init parameters you can define them using PREMAILER_OPTIONS
.
For example, in your settings file;
PREMAILER_OPTIONS = dict(base_url='http://example.com',
remove_classes=False)
See https://github.com/peterbe/premailer/blob/master/premailer/premailer.py#L149 for a list of other possible options.
Developer Documentation¶
Contributions¶
Contributions are more than welcome!
To get setup do the following;
mkvirtualenv --python=/usr/bin/python3.5 django-premailer
git clone https://github.com/alexhayes/django-premailer.git
cd django-premailer
pip install -r requirements/dev.txt
pip install Django>=1.9,<1.10
Running Tests¶
Once you’ve checked out you should be able to run the tests;
tox
Or run all environments at once using detox;
detox
Creating Documentation¶
cd docs
make clean html
Thanks¶
- Special thanks to http://roi.com.au for supporting the initial development of this project.
- Thanks to https://github.com/roverdotcom/django-inlinecss for initial inspiration.
Author¶
Alex Hayes <alex@alution.com>