如何在 Wagtail CMS 中添加外部对象作为字段面板

How to add an external object as a field panel in Wagtail CMS

我有一个预先存在的 Django 项目,我在其中启动了一个 Wagtail 驱动的应用程序。 在 Django 项目中,我有一个模型地图,我也需要在 wagtail-app 中提供它。

Django-project Map class in model.py

class Map(..):

Wagtail-app model.py:

class Wagtail-appPage(Page):
    main_image = models.ForeignKey(
       'wagtailimages.Image',
       null=True,
       blank=True,
       on_delete=models.SET_NULL,
       related_name='+'
    )
    map = models.ForeignKey(Map, related_name="map_set", null=True, blank=True)
    date = models.DateField("Post date")
    intro = models.CharField(max_length=250)
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('date'),
        FieldPanel('intro'),
        FieldPanel('body', classname="full"),
        ImageChooserPanel('main_image'),
        <MapChooserPanel>('map')
    ]

我的目标是增加在 wagtail/admin 中的 wagtail 面板(例如 MapChooserPanel())中加载地图对象的可能性,就像标准图像一样。

您将如何进行?听起来是不是很难?我是 Wagtail 的新手..

提前感谢您提供的任何帮助。

最简单的方法是将您的地图模型注册为 snippet, and then to reference it from your page with a SnippetChooserPanel

祝你好运!