- Create filters.py
- Use nl2br filter in your Jinja template
{{ text|nl2br }}
import re | |
from jinja2 import evalcontextfilter, Markup, escape | |
_paragraph_re = re.compile(r'(?:\r\n|\r|\n){2,}') | |
@evalcontextfilter | |
def nl2br(eval_ctx, value): | |
result = u'\n\n'.join(u'<p>%s</p>' % p.replace('\n', '<br>\n') | |
for p in _paragraph_re.split(escape(value))) | |
if eval_ctx.autoescape: | |
result = Markup(result) | |
return result |