Templatetags for better field rendering

This commit is contained in:
Harry Bridge
2019-01-05 20:01:02 +00:00
parent fbfd8f272b
commit b72bc63560
2 changed files with 21 additions and 0 deletions

0
templatetags/__init__.py Normal file
View File

View File

@@ -0,0 +1,21 @@
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.safestring import SafeData, mark_safe
from django.utils.text import normalize_newlines
from django.utils.html import escape
register = template.Library()
@register.filter(is_safe=True, needs_autoescape=True)
@stringfilter
def linebreaksn(value, autoescape=True):
"""
Convert all newlines in a piece of plain text to jQuery line breaks
(`\n`).
"""
autoescape = autoescape and not isinstance(value, SafeData)
value = normalize_newlines(value)
if autoescape:
value = escape(value)
return mark_safe(value.replace('\n', '\\n'))