django模板标记,使用premailer将css块转换为样式属性。
django-premailer的Python项目详细描述
使用premailer将css块转换为样式属性的django模板标记。
安装
pip install django-premailer
将django_premailer添加到INSTALLED_APPS:
INSTALLED_APPS=('...','django_premailer')
示例用法
只要在需要内联css的html周围使用premailertemplate标记即可:
{% load premailer %} {% premailer "http://example.com" %} <html><styletype="text/css">h1{border:1pxsolidblack}p{color:red;}.c{background-color:#FF6600;}.ctd{background-color:#CCCCCC;}</style><h1style="font-weight:bolder">{{ eggs }}</h1><p><ahref="/blah/">Hej</a></p><tableclass="c"><tr><td></td></tr></table></html> {% endpremailer %}
渲染的模板看起来是这样;
<html><head></head><body><h1style="border:1px solid black; font-weight:bolder">Sausage</h1><pstyle="color:red"><ahref="http://example.com/blah/">Hej</a></p><tablestyle="background-color:#F60"bgcolor="#F60"><tr><tdstyle="background-color:#CCC"bgcolor="#CCC"></td></tr></table></body></html>
设置
如果需要对premailer的init参数进行更多控制,可以使用PREMAILER_OPTIONS定义它们。
例如,在设置文件中;
PREMAILER_OPTIONS=dict(base_url='http://example.com',remove_classes=False)
有关其他可能选项的列表,请参见https://github.com/peterbe/premailer/blob/master/premailer/premailer.py#L149。
谢谢
- 特别感谢http://roi.com.au支持这个项目。
- 感谢https://github.com/roverdotcom/django-inlinecss最初的灵感。