Watail 预置功能除了非常方便好用的 Images 以外,还有 Documnets,用法与 images 类似。

由于 images 模块仅支持上传 jpg、gif、png 这三种常见格式的图片,而现在网站 logo 通常会采用矢量的 svg 格式,因此我考虑改用 documents 来处理其他格式图片的上传。

from wagtail.documents.edit_handlers import DocumentChooserPanel

class HomePage(Page):
    book = models.ForeignKey(
        'wagtaildocs.Document', null=True, blank=True,
        on_delete=models.SET_NULL, related_name='+'
    )
    
    content_panels = Page.content_panels + [
        DocumentChooserPanel('book'),
    ]

Reference