def autolinebreaks(value, autoescape=None):
"""
Checks if the content is html or plain text if plain text
replaces line breaks with appropriate HTML; a single
newline becomes an HTML line break (``<br />``) and a new line
followed by a blank line becomes a paragraph break (``</p>``).
"""
import re
html_match = re.compile('<br>|<br />|<p>|<table>', re.IGNORECASE)
if not html_match.search(value):
from django.utils.html import linebreaks
autoescape = autoescape and not isinstance(value, SafeData)
return mark_safe(linebreaks(value, autoescape))
else:
return value
autolinebreaks.is_safe = True
autolinebreaks.needs_autoescape = True
autolinebreaks = stringfilter(autolinebreaks)
register.filter(autolinebreaks)
Comments