Django 脆皮表格没有将 id 添加到字段

Django crispy forms not adding id to field

我正在尝试向表单中的字段添加 class。当我检查呈现的模板时,它缺少我添加的 class。

形式:

from crispy_forms.helper import FormHelper, Layout
from crispy_forms.layout import Field

class OperationsCalendarForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Field('start', css_class="datetimepicker")
        )

        super(OperationsCalendarForm, self).__init__(*args, **kwargs)

    class Meta:
        model = OperationsCalendar
        exclude = ('creation', 'last_modified')

form.html

{{ form|crispy }}

我得到:

<input class="dateinput form-control" id="id_start" name="start" type="text">

当您使用 FormHelper 时,您需要在模板 {% crispy form %} 中使用此标记而不是此 {{ form|crispy }}。并且您需要注册 Layout 中的所有字段,就像您在 start 中所做的那样。如果你想全部看完,没问题。