在 Wagtail CMS 上看不到来自现有 Django 项目的应用程序

Can't see apps from existing Django project on Wagtail CMS

我正在尝试将我的 Django 项目与 Wagtail CMS 集成。正如对现有 Django 项目所做的那样,我正在尝试遵循 this documentation.

完成后,我可以在 Wagtail 上看到我的用户,但看不到我的应用程序。我是否需要额外的步骤才能将我现有的 Django 应用程序引入 Wagtail?

我猜下面的两个代码片段是否与其添加的位置无关。文档说要添加它们,但没有具体说明之前或之后的确切位置。

对于INSTALLED_APPS

'wagtail.contrib.forms',
'wagtail.contrib.redirects',
'wagtail.embeds',
'wagtail.sites',
'wagtail.users',
'wagtail.snippets',
'wagtail.documents',
'wagtail.images',
'wagtail.search',
'wagtail.admin',
'wagtail.core',

'modelcluster',
'taggit',

对于 MIDDLEWAR

'wagtail.core.middleware.SiteMiddleware',
'wagtail.contrib.redirects.middleware.RedirectMiddleware',

正如 xyres 在评论中解释的那样,我尝试遵循 docs.wagtail.io/en/v2.4/reference/contrib/modeladmin。 正如文档所解释的那样,我所做的是:

INSTALLED_APPS中添加wagtail.contrib.modeladmin

settings.py

INSTALLED_APPS = [
   ...
   'wagtail.contrib.modeladmin',
]

然后,我在 Django 应用程序下创建了一个名为 wagtail_hooks.py 的文件,我希望在 Wagtail CMS 中看到它,并将以下代码放入文件中。

wagtail_hooks.py

from wagtail.contrib.modeladmin.options import (
    ModelAdmin, modeladmin_register)
from .models import Book


class BookAdmin(ModelAdmin):
    model = Book
    menu_label = 'Book'  # ditch this to use verbose_name_plural from model
    menu_icon = 'pilcrow'  # change as required
    menu_order = 200  # will put in 3rd place (000 being 1st, 100 2nd)
    add_to_settings_menu = False  # or True to add your model to the Settings sub-menu
    exclude_from_explorer = False # or True to exclude pages of this type from Wagtail's explorer view
    list_display = ('title', 'author')
    list_filter = ('author',)
    search_fields = ('title', 'author')

# Now you just need to register your customised ModelAdmin class with Wagtail
modeladmin_register(BookAdmin)

完成以上操作后,您将在 Wagtail CMS 中看到您的 App 模型。