【问题标题】:Using HTML in Crispy Forms formset在 Crispy Forms 表单集中使用 HTML
【发布时间】:2013-08-27 19:52:54
【问题描述】:

我有以下 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 %},但是这几乎产生了相同的影响。

【问题讨论】:

    标签: django django-crispy-forms


    【解决方案1】:

    我是crispy-forms的首席开发者

    这里的问题是您使用的是bootstrap/table_inline_formset.html,它目前不支持指定布局。

    文档中有明确说明:http://django-crispy-forms.readthedocs.org/en/latest/crispy_tag_formsets.html#custom-templates-and-table-inline-formsets

    此模板目前不考虑您指定的任何布局,仅适用于引导模板包。

    我知道这不是预期的行为,并且存在一个未解决的问题。我希望这周能以某种方式解决它。

    【讨论】:

    • 谢谢。我意识到在我发布这个问题并最终使用该模板作为编写我自己的模板的灵感之后。不幸的是,这意味着我几乎用 HTML 编写所有东西,而不是利用 FormHelper,但我可以接受。
    猜你喜欢
    • 2015-05-13
    • 2022-01-04
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 2014-03-12
    • 2013-10-06
    • 2017-02-02
    相关资源
    最近更新 更多