【发布时间】:2018-01-08 08:13:13
【问题描述】:
我通过扩展下面给出的 WagtailFormBlock 创建了 wagtail FreeForm。我可以使用 wagtail admin interface 创建不同的表单。
文件名:blocks.py
from wagtailformblocks.blocks import WagtailFormBlock
class MyForm(WagtailFormBlock):
class Meta:
app_label = 'demo'
这是models.py 文件,我在其中创建了页面并将表单分配给该页面。
文件名:models.py
from wagtail.wagtailcore.models import Page
from wagtailformblocks.models import BaseForm
from wagtail.wagtailcore.fields import StreamField
class FormType(BaseForm):
class Meta:
verbose_name = "Form Type"
class ImagePage(Page):
template = 'wagtail_demo/image_page.html'
content = StreamField([
('my_forms', MyForm()),
])
content_panels = Page.content_panels + [
StreamFieldPanel('content'),
]
这是我的image_page.html 页面,我想在其中呈现表单字段。
文件名:image_page.html
{% load wagtailcore_tags %}
{% with blocks=self.content %}
{% for block in blocks %}
{{ block }}
{% endfor %}
{% endwith %}
它显示了与该页面关联的表单的所有字段。我想单独访问关联表单的每个字段(e.g.: field name etc.),因为有时我需要使用 javascript 在提交按钮之前添加字段。我该怎么做?
【问题讨论】:
标签: python django wagtail wagtail-streamfield