无法从wagtail.contrib.settings.models导入ModelSettings求助
问题解决:Wagtail 导入 ModelSettings 报错
问题原因
Wagtail 5.0 及以上版本已彻底移除 ModelSettings 类,改用 BaseSetting 作为自定义设置模型的基类,同时相关配置方式也有调整,这是导致导入报错的直接原因。
修正后的代码
from django.db import models from wagtail.admin.panels import FieldPanel, MultiFieldPanel from wagtail.contrib.settings.models import BaseSetting, register_setting @register_setting class SocialMediaSettings(BaseSetting): """Social media settings for our custom website.""" facebook = models.URLField(blank=True, null=True, help_text="Facebook URL") twitter = models.URLField(blank=True, null=True, help_text="Twitter URL") youtube = models.URLField(blank=True, null=True, help_text="YouTube Channel URL") admin_panels = [ MultiFieldPanel([ FieldPanel("facebook"), FieldPanel("twitter"), FieldPanel("youtube"), ], heading="Social Media Settings") ]
关键调整说明
- 将
ModelSettings替换为BaseSetting,这是新版 Wagtail 设置模块的标准基类 - 将原模型内的
panels属性改为admin_panels,这是 Wagtail 5.0+ 统一的后台面板配置方式 - 确保项目的
INSTALLED_APPS中已添加wagtail.contrib.settings,否则会引发额外的导入或功能异常
内容的提问来源于stack exchange,提问作者msafiri mchomvu
相关产品推荐
相关产品推荐

