【问题标题】:Add a MultiFieldPanel in Django Wagtail BaseSettings在 Django Wagtail BaseSettings 中添加 MultiFieldPanel
【发布时间】:2016-11-07 12:19:29
【问题描述】:

我正在添加一组可由我的用户在 Wagtail Admin 中填写的字段。一切正常,但我想在面板组中组织设置,但它不起作用。有人可以在下面查看我的代码,看看我这样做是否正确吗?

...
from wagtail.contrib.settings.models import BaseSetting, register_setting
from wagtail.wagtailadmin.edit_handlers import MultiFieldPanel, FieldPanel


@register_setting
class SiteSettings(BaseSetting):
    facebook = models.URLField(blank=True, help_text='Your Facebook page URL')
    instagram = models.CharField(max_length=255, blank=True, help_text='Your Instagram username, without the @')
    youtube = models.URLField(blank=True, help_text='Your YouTube channel or user account URL')
    company_name = models.CharField(blank=True, max_length=250, help_text='Enter your company name how you would like it to appear on the site')

    content_panels = [
        MultiFieldPanel(
            [
                FieldPanel('facebook'),
                FieldPanel('instagram'),
                FieldPanel('youtube'),
            ],
            heading="Social Media Profiles",
            classname="collapsible collapsed"
        ),
        MultiFieldPanel(
            [
                FieldPanel('company_name'),
            ],
            heading="Company Info",
            classname="collapsible collapsed"
        ),
    ]

【问题讨论】:

    标签: django django-models django-templates django-admin wagtail


    【解决方案1】:

    根据http://docs.wagtail.io/en/stable/reference/contrib/settings.html#edit-handlers,您应该使用panels,而不是content_panels

    (Wagtail 页面上使用的名称 content_panels 来自于它影响“内容”选项卡,而不是“推广”或“设置”。对于设置和 sn-ps 模块,有默认情况下没有标签 - 所以它被简单地称为panels。)

    【讨论】:

    • 工作就像一个魅力!谢谢!
    猜你喜欢
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 2018-09-29
    • 2020-03-03
    • 1970-01-01
    相关资源
    最近更新 更多