@RockyMotion

Как в django создать мультиязычную карта сайта?

По документации сделал карту сайта, сайт мультиязычный, но вместо нормальной карты выводится какая-то каша. И не создается версия страницы под каждый язык.

sitemap.py
from django.contrib.sitemaps import Sitemap
from movies.models import Movies

class DynamicViewSitemap(Sitemap):
    changefreq = 'weekly'
    i18n = True
    languages = ["en", "ru", "de", "es","pt", "fr"]
    alternates = True
    x_default = True

    def items(self):
        return Movies.objects.all()

    def location(self, item):
         return f'/movies/{item.slug}/'


urls.py
sitemaps = {
    'dynamic': DynamicViewSitemap
}

urlpatterns = [
    path('admin/', admin.site.urls),
    path('i18n/', include('django.conf.urls.i18n')),
    path('sitemap.xml', sitemap, {'sitemaps': sitemaps}),


Итог: https://wherefilmed.org/sitemap.xml

Вот так выглядит в карте сайта: https://wherefilmed.org/movies/Power-Rangers-Lost-...
  • Вопрос задан
  • 65 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы