Django Smarty
Django Smarty is a Django template filter application to convert ASCII punctuation characters into smart typographic punctuation HTML entities with SmartyPants. Uses the Python smartypants package.
Install
$ pipenv install django-smarty
Add to settings.py
.
INSTALLED_APPS = [
# ...
'smarty',
]
Usage
{% load smarty_tags %}
{{ post.body|smarty }}
Result:
“Hello—world!”
Settings
smarty
is a filter composed of several smaller filters:
-
smartypants
is the original SmartyPants -
smartycaps
wraps capital letters in<span class="initialism"></span>
One can apply any filter individually. For example, if one preferred the original SmartyPants, write {{ post.body|smartypants }}
.
One can customize the application and order of smarty
filters with the SMARTY_FILTERS
setting. By default, the SMARTY_FILTERS
setting is:
SMARTY_FILTERS = [
'smartypants',
'smartycaps',
]
One can also customize the HTML class of smartycaps
with the SMARTY_CAPS_CLASS
setting. By default, the SMARTY_CAPS_CLASS
setting is:
SMARTY_CAPS_CLASS = 'initialism'