【问题标题】:Wagtail - Reference form from child pageWagtail - 子页面的参考表单
【发布时间】:2017-02-07 21:25:09
【问题描述】:

我正在使用Wagtail Form Builder,以便站点实施者可以扩展以使用自己的站点特定模板创建自己的 FormPage 类型。

我想在父页面上呈现所有表单页面;这包括所有子页面字段,例如标题,以及完整的子表单。

理想情况下,提交按钮也应该在每个表单的基础上起作用。

这是我尝试过的:

<ul>
    {% for child in page.get_children %}
    <li>

        <h5 class=>{{ child.specific.title }}</h5>

        <div>

            {{ child.specific.intro|richtext }}

            <div id="form-holder">

                <form action="{% child.pageurl page %}" method="POST">
                    {% csrf_token %}
                    {{ child.specific.form.as_p }}
                    <input type="submit">
                </form>

            </div><!-- contact-form-holder-->

        </div>
    </li>
    {% endfor %}
</ul>

我的表单模型或多或少符合Form Builder 文档的一些额外字段:

class FormField(AbstractFormField):
    db_table = 'form_field'

    page = ParentalKey('FormPage', related_name='form_fields')


class FormPage(AbstractEmailForm):
    db_table = 'form_page'

    header = models.CharField(max_length=250)
    intro = RichTextField(blank=True)
    thank_you_text = RichTextField(blank=True)

    content_panels = AbstractEmailForm.content_panels + [
        FormSubmissionsPanel(),
        FieldPanel('intro', classname="full"),
        FieldPanel('header'),
        InlinePanel('form_fields', label="Form fields"),
        FieldPanel('thank_you_text', classname="full"),
        MultiFieldPanel([
            FieldRowPanel([
                FieldPanel('from_address', classname="col6"),
                FieldPanel('to_address', classname="col6"),
            ]),
            FieldPanel('subject'),
        ], "Email"),
    ]

我发现如果我使用.specific方法,我可以渲染标题和介绍等子页面字段。

但是,我似乎无法渲染任何表单;有或没有.specific 标签。

非常欢迎任何帮助!

【问题讨论】:

标签: python django wagtail


【解决方案1】:

离题但可能有帮助:

{% for child in page.get_children %}

可以替换为:

{% for child in page.get_children.specific %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-06-07
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多