Когда ваш шаблон оценивается, переменная, указанная между вашим {{...}}, будет заменена элементом input в HTML DOM. Вы хотите визуализировать этот элемент «input» с помощью класса Bootstrap 4 «form-control-lg» или атрибута стиля, такого как «line-height», который изменит высоту элемента.
crispy-forms позволяет вам делать все это из forms.py
В частности, вы можете изменить способ отображения полей формы с помощью crispy-форм, используя класс Layout из модуля crispy_forms.layout . Полная информация дана здесь в документах по хрустящим формам.
В вашем случае вам необходимо (1) добавить FormHelper к вашей форме; (2) Добавьте макет к вашему помощнику; и (3) Используйте объект макета поля для установки атрибутов в любом поле.
Таким образом, вы можете изменить forms.py следующим образом:
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Field
from django import forms
class BasicForm(forms.Form):
[...] # Define your fields here
def__init__(self, *args, **kwargs):
# Add a FormHelper
self.helper = FormHelper()
# Add a layout to your helper
self.helper.layout = Layout(
# Use the Field layout object to set attributes on
# choices_product field. type="text" should be there by
# default if you have used a CharField or TextField.
Field(
'choices_product', css_class="form-control form-control-lg", id="exampleInputSize3", placeholder=".form-control-lg",
)
)
super(BasicForm, self).__init__(*args, **kwargs)