问题描述
我正在将 wagtail 集成到我现有的 Django 项目中。 集成前:文件架构如下
|- 我的项目/
__|- 模板/
__|- manage.py
__|- 我的项目/
____|- urls.py
____|-models.py
____|- settings.py
____|- views.py
在我安装 wagtail 软件包并在 settings.py
上反映后,文件架构没有改变。现在我可以成功登录到 localhost/cms/
。
现在我想自定义 CMS admin 的 content_panel
,因此我定义了下面的类;
# MyProject/models.py
class HomePage(Page):
template = "homepage.html"
content = RichTextField()
content_panels = Page.content_panels + [
FieldPanel("content")
]
然后我迁移了数据库并重新启动了 Web 服务器,但是我在 CMS 管理门户的 content_panels
上没有看到任何变化。为什么?
解决方法
如https://docs.wagtail.io/en/stable/getting_started/integrating_into_django.html#start-developing所述 - 当您将 Wagtail 集成到现有项目中(而不是使用 wagtail start
项目模板)时,创建的初始主页将是基本的 Page
类型,没有内容字段。定义真正的 HomePage
类后,您需要删除初始页面并在其位置创建 HomePage 类型的页面(同时在设置 -> 站点下创建站点记录)。