Трясогузка - Справочная форма с дочерней страницы

Я использую конструктор форм трясогузки, чтобы Разработчики сайтов могут расширять возможности создания собственного типа 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>

Мои модели форм более или менее соответствуют конструктору форм документация с несколькими дополнительными полями:

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 или без него.

Любая помощь будет очень кстати!


person Karim Tabet    schedule 07.02.2017    source источник
comment
Теперь здесь есть ответ на очень похожий вопрос: stackoverflow.com/questions/42673180/   -  person LB Ben Johnston    schedule 15.11.2017


Ответы (1)


Не по теме, но может чем поможет:

{% для ребенка в page.get_children %}

можно заменить на:

{% для ребенка в page.get_children.specific %}

person Robert    schedule 08.02.2017