Как я могу ограничить тип файла для wagtail.documents.blocks.DocumentChooserBlock? - PullRequest
0 голосов
/ 14 мая 2019

Поэтому я хотел бы ограничить тип файла, который администратор может загрузить в CMS с помощью wagtail.documents.blocks.DocumentChooserBlock. Кажется, я нигде не могу найти документацию. Это самое большее, что я нашел 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'

Я хочу ограничить тип загружаемого файла.

1 Ответ

0 голосов
/ 20 мая 2019

Я бы попытался вызвать ошибку проверки во время метода .save ().Это позволит вам предотвратить действие и перенаправить пользователя для выбора правильного формата файла.

...