Django sitemap i18n повторяет язык по умолчанию, не включает ссылки для языков, не используемых по умолчанию
Используя Django 4.0.6, у меня есть карты сайта, прекрасно работающие для одного языка по умолчанию - английского. После добавления i18n карта сайта не показывает URL для других языков, а вместо этого повторяет английский URL, при этом обозначая его как URL для другого языка.
Я прочитал документацию, но не могу увидеть свою ошибку.
urls.py
from django.conf.urls.i18n import i18n_patterns
from config.sitemaps import sitemaps
from django.contrib.sitemaps.views import sitemap
sitemap_name = "django.contrib.sitemaps.views.sitemap"
urlpatterns: URLList = [
path("i18n/", include("django.conf.urls.i18n")),
path("sitemap.xml", sitemap, {"sitemaps": sitemaps}, name=sitemap_name),
path("sitemap-blog.xml", wagtail_sitemap),
]
urlpatterns += i18n_patterns(
path("", include("lettergun.apps.base.urls", namespace="base")),
path("", include("lettergun.apps.writing.urls", namespace="writing")),
...
)
sitemaps.py
from datetime import datetime
from django.contrib.sitemaps import Sitemap
from django.urls import reverse_lazy
class LettergunSitemap(Sitemap):
i18n = True
languages = ["en", "nl"]
alternates = True
x_default = True
changefreq = "daily"
priority = 0.5
lastmod = datetime.strptime(LAST_MOD, "%Y-%m-%d")
class Home(LettergunSitemap):
location = reverse_lazy("base:home")
def items(self):
return ["item"]
class Contact(LettergunSitemap):
location = reverse_lazy("base:contact")
def items(self):
return ["item"]
class DemoRequest(LettergunSitemap):
location = reverse_lazy("base:demo")
def items(self):
return ["item"]
...
длинная выдержка из карты сайта: