У меня действительно длинная форма (более 100 полей). Он состоит из различных типов полей, включая IntegerRangeField
, FormField
, FieldList
и другие.
Вот упрощенный пример:
class SubForm(Form):
first_name=TextField('First')
age=IntegerRangeField('Age')
class MainForm(Form):
height=IntegerRangeField('Height')
weight=IntegerRangeField('Weight')
friend_list=FieldList(FormField(SubForm),'Friends')
IntegerRangeFields
не отображает значение ползунка по умолчанию, поэтому я использую функцию javascript JSfunction
для отображения значения ползунка в шаблоне.
Все отображается с помощью макроса:
{% for field in form if field.type not in ["HiddenField","CSRFTokenField"] %}
{% if field.type in ["IntegerRangeField"] %}
{{field.label}}
{{field(min=0, max=100, oninput="JSfunction(this)")}}
<output><script> document.write() </script></output>
{% else %}
{{field.label}}
{{field}}
{% endif %}
{% endfor %}
У меня проблемы со ссылками на IntegerRangeFields
в FormField
в FieldList
, так что я могу применить к ним JSfunction
и отобразить значение ползунка. Как я могу это сделать? На данный момент все поля / виджеты отображаются, но ползунки в пределах FormFields
в пределах FieldList
не показывают значение ползунка.
Заранее спасибо!
редактирование:
IntegerRangeFields, которых нет в списке полей, отображаются как ползунки, а при перемещении ползунка рядом с ползунком отображается значение ползунка:
т.е. height ----------|| 100
IntegerRangeFields, которые находятся в FieldList, не имеют примененной функции JS, поэтому у них нет целочисленного значения рядом со слайдером:
т.е. age ||----------
У меня возникают трудности при переходе к IntegerRangeFields в FormFields в FieldLists.