- commit
- 91db84b43b65898b57e4add693cd734493342ec0
- parent
- e6bc74869d2803df140025989421484805393b7a
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2025-09-15 15:09
refactor: assemble label classes in python
Diffstat
| M | django_bs/templates/bs/field.html | 6 | +++--- |
| M | django_bs/templatetags/bootstrap.py | 7 | ++++++- |
2 files changed, 9 insertions, 4 deletions
diff --git a/django_bs/templates/bs/field.html b/django_bs/templates/bs/field.html
@@ -1,12 +1,12 @@ 1 1 <{{ fieldset|yesno:'fieldset,div' }} class="{{ form_group_class }} {% if check %}form-check{% endif %}"> 2 2 {% if check %} 3 3 {{ field }}4 -1 <label for="{{ field.id_for_label }}" class="form-check-label {% if field.field.required %}{{ field.form.required_css_class }}{% endif %} {% if not show_label %}visually-hidden{% endif %}">{{ field.label }}</label>-1 4 <label for="{{ field.id_for_label }}" class="form-check-label {{ label_classes }}">{{ field.label }}</label> 5 5 {% else %} 6 6 {% if fieldset %}7 -1 <legend class="form-label fs-6 {% if field.field.required %}{{ field.form.required_css_class }}{% endif %} {% if not show_label %}visually-hidden{% endif %}">{{ field.label }}</legend>-1 7 <legend class="form-label fs-6 {{ label_classes }}">{{ field.label }}</legend> 8 8 {% else %}9 -1 <label class="form-label {% if field.field.required %}{{ field.form.required_css_class }}{% endif %} {% if not show_label %}visually-hidden{% endif %}" for="{{ field.id_for_label }}">{{ field.label }}</label>-1 9 <label class="form-label {{ label_classes }}" for="{{ field.id_for_label }}">{{ field.label }}</label> 10 10 {% endif %} 11 11 {% if addon_before or addon_after %} 12 12 <div class="input-group">
diff --git a/django_bs/templatetags/bootstrap.py b/django_bs/templatetags/bootstrap.py
@@ -57,13 +57,18 @@ def bootstrap_field( 57 57 widget = boundfield.field.widget 58 58 is_check = getattr(widget, 'input_type', None) in ['checkbox', 'radio'] 59 59 has_options = getattr(widget, 'option_template_name', None) -1 60 label_classes = set() -1 61 if not show_label: -1 62 label_classes.add('visually-hidden') -1 63 if boundfield.field.required: -1 64 label_classes.add(getattr(boundfield.form, 'required_css_class', '')) 60 65 return { 61 66 'field': boundfield, 62 67 'check': is_check and not has_options, 63 68 'fieldset': getattr(widget, 'use_fieldset', is_check and has_options), 64 69 'addon_before': addon_before, 65 70 'addon_after': addon_after,66 -1 'show_label': show_label,-1 71 'label_classes': ' '.join(label_classes), 67 72 'form_group_class': form_group_class, 68 73 } 69 74