diff --git a/envipath/settings.py b/envipath/settings.py index 96902c32..2d1da4fb 100644 --- a/envipath/settings.py +++ b/envipath/settings.py @@ -92,7 +92,7 @@ TEMPLATES = [ }, ] -ALLOWED_HTML_TAGS = {'b', 'i', 'u'} +ALLOWED_HTML_TAGS = {'b', 'i', 'u', 'a'} WSGI_APPLICATION = "envipath.wsgi.application" diff --git a/epdb/templatetags/envipytags.py b/epdb/templatetags/envipytags.py index c8c92fef..33346ff6 100644 --- a/epdb/templatetags/envipytags.py +++ b/epdb/templatetags/envipytags.py @@ -1,4 +1,7 @@ from django import template +from django.conf import settings as s +from django.utils.safestring import mark_safe +import nh3 register = template.Library() @@ -6,3 +9,9 @@ register = template.Library() @register.filter def classname(obj): return obj.__class__.__name__ + + +@register.filter(name="nh_safe") +def nh_safe(txt: str): + clean_html = nh3.clean(txt, tags=s.ALLOWED_HTML_TAGS) + return mark_safe(clean_html) diff --git a/templates/objects/package.html b/templates/objects/package.html index f230e202..611dcffc 100644 --- a/templates/objects/package.html +++ b/templates/objects/package.html @@ -1,4 +1,5 @@ {% extends "framework.html" %} +{% load envipytags %} {% block content %} @@ -29,7 +30,7 @@
{{ package.description|safe }}
+{{ package.description|nh_safe }}