我已经安装了wagtail Streamforms软件包的最新版本和wagtail 2.0,但是当我使用它创建表单时,表单内容没有显示为默认表单模板,并且当我定义自定义模板'streamforms / form_block.html'时表单中未显示的内容。我已经按照文档中的说明在我的base.py设置文件中定义了我正在使用的两个模板。
WAGTAILSTREAMFORMS_FORM_TEMPLATES =( (“ streamforms / form_block.html”,“默认表单模板”), )
但是在管理面板->我创建表单时,在Streamforms中,在模板选择器字段中它仅显示“默认表单模板”
我已经在streamfields的models.py中定义了它,并为自己定义了模板以显示它仍未呈现的内容 Class StandardPage(Page):
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 %}
我做错了什么?
答案 0 :(得分:0)
假设您在上方输入的是您的实际设置:
someinfo.img.txt
这只是用来填充表单中可用模板的下拉列表。您所设置的就是设置中的默认设置。如果要覆盖包中的默认模板,只需确保自己代码中位于路径WAGTAILSTREAMFORMS_FORM_TEMPLATES = (
('streamforms/form_block.html', 'Default Form Template'),
)
上的模板位于streamforms/form_block.html
中wagtailstreamforms之前出现的应用中。 Django将首先看到您的模板并进行渲染。
如果要提供其他模板作为默认模板,只需进行以下设置:
INSTALLED_APPS
,仅创建模板“ example / forms / another_form_block.html”,例如位于http://wagtailstreamforms.readthedocs.io/en/latest/templates.html#templates的示例。然后,您将有两种选择的模板可供使用。包装内的一个和您自己的一个。
希望这会有所帮助。