from django import template register = template.Library() @register.filter(name="safe") def safesafe(value): try: from django.template.defaultfilters import safe return safe(value) except ImportError: return value @register.filter(name="force_escape") def safeforce_escape(value): try: from django.template.defaultfilters import force_escape return force_escape(value) except ImportError: return value class IgnoreAutoEscapeNode(template.Node): def __init__(self, nodelist): self.nodelist = nodelist def render(self, context): output = self.nodelist.render(context) return output @register.tag("autoescape") def safeautoescape(parser, token): try: from django.template.defaulttags import autoescape return autoescape(parser, token) except ImportError: nodelist = parser.parse(('endautoescape',)) parser.delete_first_token() return IgnoreAutoEscapeNode(nodelist)