Improvements for Bootstrap 3.0 support. Includes:
- Fixed problem with inputs of type file, that were displayed inside an input text element - Added support for Django Form `required_css_class` and `error_css_class` - Added CSS class `multiple-checkbox`, to be used to easily hide `<li>` elements in multiple checkboxes from your styles file
This commit is contained in:
parent
5ebe181be1
commit
1fd37c1631
@ -4,12 +4,12 @@
|
||||
{% if field|is_checkbox %}
|
||||
<div class="{{ classes.single_value }}">
|
||||
<div class="checkbox">
|
||||
<label>
|
||||
<label {% if field.field.required and form.required_css_class %}class="{{ form.required_css_class }}"{% endif %}>
|
||||
{{ field }} <span>{{ field.label }}</span>
|
||||
</label>
|
||||
|
||||
{% for error in field.errors %}
|
||||
<span class="help-block">{{ error }}</span>
|
||||
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
|
||||
{% endfor %}
|
||||
|
||||
{% if field.help_text %}
|
||||
@ -19,8 +19,8 @@
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% else %}{% if field|is_radio %}
|
||||
<label class="control-label {{ classes.label }}">{{ field.label }}</label>
|
||||
{% elif field|is_radio %}
|
||||
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}">{{ field.label }}</label>
|
||||
|
||||
<div class="{{ classes.value }}">
|
||||
{% for choice in field %}
|
||||
@ -33,7 +33,7 @@
|
||||
{% endfor %}
|
||||
|
||||
{% for error in field.errors %}
|
||||
<span class="help-block">{{ error }}</span>
|
||||
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
|
||||
{% endfor %}
|
||||
|
||||
{% if field.help_text %}
|
||||
@ -42,15 +42,14 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% else %}
|
||||
<label class="control-label {{ classes.label }}" for="{{ field.auto_id }}">{{ field.label }}</label>
|
||||
<label class="control-label {{ classes.label }} {% if field.field.required %}{{ form.required_css_class }}{% endif %}" for="{{ field.auto_id }}">{{ field.label }}</label>
|
||||
|
||||
<div class="{{ classes.value }}">
|
||||
<div class="{{ classes.value }} {% if field|is_multiple_checkbox %}multiple-checkbox{% endif %}">
|
||||
{{ field }}
|
||||
|
||||
{% for error in field.errors %}
|
||||
<span class="help-block">{{ error }}</span>
|
||||
<span class="help-block {{ form.error_css_class }}">{{ error }}</span>
|
||||
{% endfor %}
|
||||
|
||||
{% if field.help_text %}
|
||||
@ -59,5 +58,5 @@
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
@ -48,7 +48,8 @@ def bootstrap_horizontal(element, label_cols={}):
|
||||
|
||||
|
||||
def add_input_classes(field):
|
||||
if not is_checkbox(field) and not is_multiple_checkbox(field) and not is_radio(field):
|
||||
if not is_checkbox(field) and not is_multiple_checkbox(field) and not is_radio(field) \
|
||||
and not is_file(field):
|
||||
field_classes = field.field.widget.attrs.get('class', '')
|
||||
field_classes += ' form-control'
|
||||
field.field.widget.attrs['class'] = field_classes
|
||||
@ -93,3 +94,8 @@ def is_multiple_checkbox(field):
|
||||
@register.filter
|
||||
def is_radio(field):
|
||||
return field.field.widget.__class__.__name__.lower() == "radioselect"
|
||||
|
||||
|
||||
@register.filter
|
||||
def is_file(field):
|
||||
return field.field.widget.__class__.__name__.lower() == "clearablefileinput"
|
||||
|
Loading…
x
Reference in New Issue
Block a user