diff --git a/src/cmsplugin_blurp/templatetags/blurp_tags.py b/src/cmsplugin_blurp/templatetags/blurp_tags.py index f69e3a3..9c1f66f 100644 --- a/src/cmsplugin_blurp/templatetags/blurp_tags.py +++ b/src/cmsplugin_blurp/templatetags/blurp_tags.py @@ -1,4 +1,8 @@ +import logging + from django import template +from django.conf import settings +from django.utils.html import escape from classytags.arguments import Argument from classytags.core import Options, Tag @@ -21,9 +25,19 @@ class RenderBlurp(Tag): return '' template = renderer.render_template() context = renderer.render(context) - if not hasattr(template, 'render'): - template = template.Template(template) - return template.render(context) + try: + if not hasattr(template, 'render'): + template = template.Template(template) + return template.render(context) + except Exception, e: + logging.getLogger(__name__).exception('error while rendering %s', + renderer) + msg = '' + if settings.TEMPLATE_DEBUG: + msg += 'error while rendering %s: %s' % (renderer, e) + msg = '
%s
' % escape(msg) + return msg + @register.tag class BlurpNode(Tag):