Шаблон не отображает каждое поле в MultiValueField

Пытаясь создать подкласс MultiValueField под названием TagField, я не уверен в том, как следует отрисовывать каждый виджет поля формы. Предполагается, что должно быть 4 x TextInput элемента. Изначально я попробовал {{ field }} в шаблоне, но он отображает только первый виджет TextInput.

Когда это не помогло отобразить все четыре входных элемента, я попробовал {% for input in field %}, и это по-прежнему отображает только первый входной элемент. Что еще нужно сделать, чтобы в шаблоне отобразились все четыре элемента ввода?

class TagField(MultiValueField):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.require_all_fields = False
        self.help_text = kwargs["help_text"]
        for i in range(4):
            field = CharField(**{
                "min_length": 1, "max_length": 25, "widget": TextInput(
                    attrs={"class": "question_input_field"}
                ), "validators":[
                    RegexValidator("[<>`':;,.\"]", inverse_match=True)
                ]
            })
            if i == 0:
                field.attrs.update({
                    'required': True, "error_messages": {
                        'incomplete': "Provide at least 1 tag for your question"
                    }
                })
            else:
                field.required = False
            self.fields.append(field)

        def compress(self, data_list):
            data_list = set([tag.lower().strip() for tag in data_list])
            return data_list
Вернуться на верх