В wagtail Streamforms не отображает содержимое формы

divya chauhan спросил: 13 июня 2018 в 07:37 в: wagtail

Я установил последнюю версию пакета wagtail Streamforms и wagtail 2.0, но когда я создал форму, используя ее, и содержимое формы не отображается с помощью шаблон формы по умолчанию и когда я определил настраиваемый шаблон 'streamforms / form_block.html', все еще содержимое формы, которое оно не показывает. Я определил оба шаблона, которые я использую в файле base.py, как указано в doc.

WAGTAILSTREAMFORMS_FORM_TEMPLATES = (('streamforms / form_block.html', 'Default Form Template'),)

Но в admin panel- > Streamforms, когда я создаю форму, в поле выбора шаблона просто отображается "Шаблон формы по умолчанию"

Я определил его в models.py в потоковых полях и определил сам шаблон, чтобы показать контент, который он не отображает stillclass StandardPage (Страница):

class StandardPage(Page):
    introduction = models.TextField(
        help_text='Text to describe the page',
        blank=True)
    image = models.ForeignKey(
        'wagtailimages.Image',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+',
        help_text='Landscape mode only; horizontal width between 1000px and 3000px.'
    )
    video_url = models.URLField(
        null=True,
        blank=True
    )
    body = StreamField([
        (
            'main_content',
            blocks.ListBlock(BaseStreamBlock(), label='content')
        ),
        (
            'form',
            blocks.ListBlock(WagtailFormBlock(), label='create form')
        )
    ,],
        blank=True,
        null=True,
        verbose_name="Standard Page"
    )    content_panels = Page.content_panels + [
        FieldPanel('introduction', classname="full"),
        ImageChooserPanel('image'),
        FieldPanel('video_url'),
        StreamFieldPanel('body'),
    ]    @property
    def standard_page(self):
        return self.get_parent().specific

Это мой шаблон "Standard_Page.html"

    {% extends "base.html" %}
{% load wagtailcore_tags wagtailtrans_tags streamforms_tags wagtailimages_tags homeapp_tags%} {% block content%}{% include "base/include/header.html" %}
    <div class="container">
{{ page.introduction }}
     {{ page.image }}        <div class="row">
            <div class="col-md-7">
               {% for block in page.body %}
                {{ block}}
{% endfor %}
            </div>        </div>
        </div>
{% endblock  %}

Что я делаю неправильно?


1 ответ

Есть решение
Stuart George ответил: 17 июня 2018 в 10:24

Предполагая, что вы указали выше, ваши фактические настройки:

WAGTAILSTREAMFORMS_FORM_TEMPLATES = (
    ('streamforms/form_block.html', 'Default Form Template'),
)

Это используется, чтобы просто заполнить выпадающий список доступных шаблонов в форме. То, что вы установили, - это то, что по умолчанию в настройках. Если вы хотите переопределить шаблон по умолчанию в пакете, вам просто нужно убедиться, что шаблон, расположенный на пути streamforms/form_block.html в вашем собственном коде, находится в приложении, которое появляется перед формами wagtailstream в вашем INSTALLED_APPS. Django сначала увидит ваш шаблон и отобразит его.

Если вы хотите предоставить дополнительный шаблон по умолчанию, просто установите этот параметр:

WAGTAILSTREAMFORMS_FORM_TEMPLATES = (
    ('streamforms/form_block.html', 'Default Form Template'),
    ('example/forms/another_form_block.html', 'My Custom Template'),
)

и просто создайте шаблон "example / forms / another_form_block.html", как пример в http://wagtailstreamforms.s./templates.html#templates. После этого у вас будет два варианта использования шаблона. Тот, который находится внутри пакета и ваш собственный.

Надеюсь, что это поможет.

divya chauhan ответил: 17 июня 2018 в 02:58
спасибо, он начинает показывать сейчас
divya chauhan ответил: 17 июня 2018 в 04:24
Не могли бы вы помочь мне получить содержимое формы. Это не отображение полей форм, которые она содержит на странице. Я должен поместить эту форму {% load streamforms_tags%} {% streamforms_form slug =" -slug"reference="some-very-unique-reference"action ="." %} в мой код шаблона.
Stuart George ответил: 17 июня 2018 в 05:31
как вы выполняете итерацию над телом поля потока в своем шаблоне переднего конца? Видите ли вы созданные формы как опции для выбора в своем потоковом поле?
Stuart George ответил: 18 июня 2018 в 05:52
Является ли ваш код общедоступным, на что я могу смотреть? Есть около 100 вопросов?
divya chauhan ответил: 18 июня 2018 в 07:31
Я отредактировал стандартный класс страницы и amp; поместите код для моего шаблона в указанном выше вопросе, вы можете его увидеть. Да, я могу видеть форму поля в администраторе стандартной страницы & теперь я даже после попытки с шаблоном по умолчанию не показывает форму

Дополнительное видео по вопросу: В wagtail Streamforms не отображает содержимое формы

Creating a Call to Action StreamField in Wagtail CMS using a StructBlock

Wagtail Wednesdays #02 - Customising Rich Text Features in Wagtail | VIX Digital