From 15e6ae6ccad186197539841c97ebf175309c3370 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Mon, 24 Nov 2025 09:55:51 -0500 Subject: [PATCH] Handle cleanly exceptions raised during widget rendering --- netbox/extras/templatetags/dashboard.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/netbox/extras/templatetags/dashboard.py b/netbox/extras/templatetags/dashboard.py index 4ac31abcf..67fa4024c 100644 --- a/netbox/extras/templatetags/dashboard.py +++ b/netbox/extras/templatetags/dashboard.py @@ -1,4 +1,6 @@ from django import template +from django.utils.safestring import mark_safe +from django.utils.translation import gettext as _ register = template.Library() @@ -8,4 +10,16 @@ register = template.Library() def render_widget(context, widget): request = context['request'] - return widget.render(request) + try: + return widget.render(request) + except Exception as e: + message1 = _('An error was encountered when attempting to render this widget:') + message2 = _('Please try reconfiguring the widget, or remove it from your dashboard.') + return mark_safe(f""" +

+ + {message1} +

+

{e}

+

{message2}

+ """)