因此,我想限制管理员可以选择使用wagtail.documents.blocks.DocumentChooserBlock
上传到CMS的文件类型。我似乎在任何地方都找不到任何文档。这是我找到的最多http://docs.wagtail.io/en/v2.0/topics/streamfield.html#documentchooserblock。
我仔细检查了代码,看它们是否呈现了输入字段。但是它是一个按钮。
<button type="button" class="button action-choose button-small button-secondary">Choose a document</button>
这将打开一个选择器模型,用于选择以前上传的文档或上传新的文档。
我还希望找到用于选择器的模板文件。但我无法找到该输入的位置。覆盖选择器模板似乎需要大量工作。
这里我要添加DocumentChooserBlock。
class IndicatorWidgetsBlock(blocks.StreamBlock):
flourish = blocks.StructBlock(
[
('label', blocks.CharBlock(required=False,
help_text="This widget's tab label on the indicator")),
('title', blocks.CharBlock(required=True)),
('hide_title', blocks.BooleanBlock(default=False, required=False)),
('html_file', DocumentChooserBlock(required=True)),
('sdg', blocks.ChoiceBlock(required=False, choices=sdg_choices,
label='SDG Goal')),
('source', blocks.RichTextBlock(
features=['link'], required=False)),
],
icon='code',
template='takwimu/_includes/dataview/code.html'
)
class Meta:
icon = 'form'
我想限制上传的文件类型。
答案 0 :(得分:0)
我会尝试在.save()方法期间引发验证错误。这样一来,您就可以阻止该操作,并重定向用户以选择正确的文件格式。