Django W 站点地图

Django Wagtail sitemap

我已经为现有的 Django 站点添加了 Wagtail。我想要 Django 和 Wagtail 网址的站点地图。

我现在的 sitemap.py:

class StaticSitemap(sitemaps.Sitemap):
    priority = 0.5
    changefreq = "weekly"
    protocol = "https"

    def items(self):
        return ["public:index", "other pages etc..."]

    def location(self, item):
        return reverse(item)

我现在的 urls.py:

sitemaps = {"static": StaticSitemap}
path(
    "sitemap.xml",
    sitemap,
    {"sitemaps": sitemaps},
    name="django.contrib.sitemaps.views.sitemap",
),

以上内容适用于标准 Django 站点地图。如何包含 Wagtail 网址?

我假设您的站点地图视图来自 wagtail.contrib.sitemaps.views(如果您使用的是 Django 的视图,则应切换到 Wagtail 的视图。

那么您唯一需要做的就是将 Wagtail 的站点地图添加到您的站点地图字典中:

from wagtail.contrib.sitemaps.sitemap_generator import Sitemap

sitemaps = {"static": StaticSitemap, "wagtail": Sitemap}