Skip to content

Django template tag that turns CSS blocks into style attributes using premailer.

License

Notifications You must be signed in to change notification settings

alexhayes/django-premailer

Repository files navigation

Django Premailer

Django template tag that turns CSS blocks into style attributes using premailer.

Build Status Code Health Code Coverage Documentation Status Latest Version Supported Python versions Downloads

Install

pip install django-premailer

Add django_premailer to your INSTALLED_APPS:

INSTALLED_APPS = (
    '...',
    'django_premailer'
)

Example Usage

Simply 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.

Thanks

Author

Alex Hayes <[email protected]>

About

Django template tag that turns CSS blocks into style attributes using premailer.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •