From af07e24234a7257baf0cd46dbcedc0ba6e97f09e Mon Sep 17 00:00:00 2001 From: Maxim Belyayev Date: Wed, 8 Jan 2025 09:50:23 -0500 Subject: [PATCH] Remove attr if dynamic attr value is None --- widget_tweaks/templatetags/widget_tweaks.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/widget_tweaks/templatetags/widget_tweaks.py b/widget_tweaks/templatetags/widget_tweaks.py index 73538ec..069b8b7 100644 --- a/widget_tweaks/templatetags/widget_tweaks.py +++ b/widget_tweaks/templatetags/widget_tweaks.py @@ -225,10 +225,15 @@ def render(self, context): else: attr_dict[k] = v.resolve(context) for k, v in attr_dict.items(): - if k == "type": - bounded_field.field.widget.input_type = v + if v: + if isinstance(v, bool): + bounded_field = set_attr(bounded_field, f"{k}") + if k == "type": + bounded_field.field.widget.input_type = v + else: + bounded_field = set_attr(bounded_field, f"{k}:{v}") else: - bounded_field = set_attr(bounded_field, f"{k}:{v}") + bounded_field = remove_attr(bounded_field, k) for k, v in self.append_attrs: bounded_field = append_attr(bounded_field, f"{k}:{v.resolve(context)}") return str(bounded_field)