Как переименовать класс ввода в хрустящей форме Dlango

Как переименовать класс ввода "numberinput form-control"?

<input type="number" name="sq" step="0.1" class="numberinput form-control" required="" id="id_sq">

Я могу переименовать класс div, класс lable, но не input

class ProjectForm(forms.ModelForm):
    class Meta:
        model = Project
        fields = ["file", "sq", "rent_tax"]

Шаблон

<div class="form-group col-md-6 mb-0">
  {{ form_project.sq|as_crispy_field }}
</div>

попробуйте это

Использование Javascript

document.getElementById('id_sq').className = 'css-class';

в settings.py

CRISPY_CLASS_CONVERTERS = {'numberinput': "css-class"}

https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes

или

refer https://docs.djangoproject.com/en/4.1/ref/forms/fields/

class ProjectForm(forms.ModelForm):
    class Meta:
        model = Project
        fields = ["file", "sq", "rent_tax"]

    def __init__(self, *args, **kwargs):
        super(ProjectForm, self).__init__(*args, **kwargs)

        # adding html attributes
        self.fields['sq'].widget.attrs['class'] = 'css-class'
Вернуться на верх