是否可以在 Wagtail 管理中重新排序 content_panels?
Is it possible to reorder the content_panels in Wagtail admin?
我正在创建一个 Wagtail 应用程序,其中一些模型从基础模型继承字段。不幸的是,这些基本字段总是首先显示在 Wagtail 生成的表单中。例如:
class BaseModel(models.Model):
some_attribute = models.TextField()
class Meta:
abstract = True
content_panels = [
FieldPanel('some_attribute'),
]
@register_snippet
class ChildModel(BaseModel):
title = models.TextField()
content_panels = Page.content_panels + [
FieldPanel('title'),
]
在ChildModel编辑器的Wagtail admin中,some_attribute现在会显示在title上方,不太直观给用户。有没有办法改变这种行为?
对于片段,要使用的正确属性名称是 panels
,而不是 content_panels
。 (对于页面,“content_panels”中的“内容”指的是内容选项卡而不是“推广”选项卡 - 片段没有这些选项卡,除非您明确添加它们。)您可能也没有想引用 Page.content_panels
,因为这不是页面模型。
由于您没有 panels
属性,因此它会退回到按定义顺序列出字段。将 content_panels
更改为 panels
后,您会发现它们会按照您列出的顺序显示。
我正在创建一个 Wagtail 应用程序,其中一些模型从基础模型继承字段。不幸的是,这些基本字段总是首先显示在 Wagtail 生成的表单中。例如:
class BaseModel(models.Model):
some_attribute = models.TextField()
class Meta:
abstract = True
content_panels = [
FieldPanel('some_attribute'),
]
@register_snippet
class ChildModel(BaseModel):
title = models.TextField()
content_panels = Page.content_panels + [
FieldPanel('title'),
]
在ChildModel编辑器的Wagtail admin中,some_attribute现在会显示在title上方,不太直观给用户。有没有办法改变这种行为?
对于片段,要使用的正确属性名称是 panels
,而不是 content_panels
。 (对于页面,“content_panels”中的“内容”指的是内容选项卡而不是“推广”选项卡 - 片段没有这些选项卡,除非您明确添加它们。)您可能也没有想引用 Page.content_panels
,因为这不是页面模型。
由于您没有 panels
属性,因此它会退回到按定义顺序列出字段。将 content_panels
更改为 panels
后,您会发现它们会按照您列出的顺序显示。