Использование HTML в наборе Crispy Forms

У меня есть следующий FormHelper, который я использую для визуализации набора форм в Django Crispy Forms. Мое понимание документации показывает, что я должен получить набор форм с двумя полями HTML (имя, имя пользователя) и двумя полями ввода, но, похоже, это не так. На самом деле, у меня есть только два поля формы.

Мне неясно, как мне добавить HTML в набор форм, учитывая, что приведенный ниже код, похоже, не помогает.

class ProposalFormSetHelper(FormHelper):
    def __init__(self, *args, **kwargs):
        super(ProposalFormSetHelper, self).__init__(*args, **kwargs)
        self.form_method = 'post'
        self.layout = Layout(
            HTML('{{ form.instance.proposal.name }}'),
            HTML('{{ form.instance.user.get_full_name }}'),
            Field('accepted', css_class='input-mini'),
            Field('rating', css_class='input-mini')
        )
        self.template = 'bootstrap/table_inline_formset.html'
        self.add_input(Submit('submit', 'Update'))

Я должен отметить, что я также попытался, в качестве альтернативы, сохранить FormHelper в самой форме и прикрепить его к тегу {% crispy %}, выполнив: {% crispy formset formset.form.helper %}, но это было довольно примерно так же влияет.

1 ответ

Я ведущий разработчик хрустящих форм

Проблема в том, что вы используете bootstrap/table_inline_formset.html который в настоящее время не поддерживает указание макета.

Это четко указано в документации: http://django-crispy-forms.readthedocs.org/en/latest/crispy_tag_formsets.html

Этот шаблон в настоящее время не учитывает любой макет, который вы указали, и работает только с пакетом шаблонов начальной загрузки.

Я знаю, что это не ожидаемое поведение, и есть открытый вопрос об этом. Надеюсь, я на этой неделе работаю над ее решением.

Другие вопросы по тегам