django: создание карты сайта для многоязычных сайтов - PullRequest
4 голосов
/ 22 января 2010

Я создал небольшой сайт статьи. Я использую Translema для хранения одной и той же статьи на нескольких языках (она создает копии выбранных полей в базе данных, чтобы их можно было перевести), Как я могу создать файлы Sitemap в этом случае?

(забудьте, что я использую приложение localurl, поэтому мои URL выглядят так http://site/en).

Ответы [ 2 ]

1 голос
/ 25 января 2010

Приложение sitemap работает, позволяя вам писать классы sitemap, каждый из которых имеет метод items. Вам просто нужно создать один такой класс для каждого вашего языка и убедиться, что вы запрашиваете только модели с этим конкретным языком для каждого класса. В документации есть простой пример карты сайта , с чего можно начать.

0 голосов
/ 29 декабря 2018

Чтобы сгенерировать карту сайта для каждого языка, вы можете использовать что-то вроде этого:

from django.contrib.sitemaps import Sitemap
from pages.models import Page

class PageSitemap(Sitemap):
   priority = 0.5
   # this generates urls per language
   i18n = True

   def items(self):
     pages = Page.objects.filter(
        status=Page.PUBLISHED).order_by('-updated_at')
    return pages

   def lastmod(self, obj):
     return obj.updated_at
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...