Django crispy forms и bootstrap - регулировка высоты поля
У меня есть страница, на которой пользователь вводит информацию в ряд встроенных форм. эти формы оформлены с помощью crispy forms и bootstrap. Есть также некоторый javascript, чтобы позволить пользователям динамически добавлять формы
У меня есть небольшая проблема в том, что одна из форм представляет ползунок диапазона (concern в SideEffectFormset, который выглядит немного не так, поскольку он немного короче, чем другие поля ввода, и я не смог настроить это с помощью помощника набора форм. Любой совет по изменению помощника набора форм или html будет очень признателен!
forms.py
SideeffectFormSet = inlineformset_factory(
Case,
SideEffect,
fields=("se_name", "concern"),
widgets={'concern': RangeInput()},
extra=0,
min_num=1,
validate_min=True,
)
class SideEffectFormSetSetHelper(FormHelper):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_method = "post"
self.form_id = 'id-SideeffectForm'
self.form_class = 'blueForms'
self.form_show_labels = False
self.render_required_fields = True
self.form_tag = False
self.layout = Layout(
Div(
Div(Field("se_name", placeholder="Chickpeas"), css_class='col-4 col-lg-4 h-50'),
Div(Field("concern", placeholder="concern"), css_class='col-8 col-lg-8 '),
css_class="row",
),
)
widgets.py
from django.forms.widgets import NumberInput
class RangeInput(NumberInput):
input_type = 'range'
html
<div class='row mt-4' >
<h6>Side Effects</h6>
</div>
<table id="sideeffects_table" border="0" cellpadding="0" cellspacing="5" width='100%'>
<tbody>
{% for form in sideeffect_formset %}
<tr>
<td>
{% for fld in form.hidden_fields %}{{ fld }}{% endfor %}
{% if form.instance.pk %}{{ form.DELETE }}{% endif %}
<div class='row py-1' >
{% crispy form sideeffect_formsethelper %}
</div>
{% endfor %}
</td>
</tr>
</tbody>
</table>
{% csrf_token %}
{{sideeffect_formset.management_form}}