django:为多语言网站生成站点地图

时间:2010-01-22 08:05:07

标签: django

我创建了一个小文章网站。我正在使用,translema以多种语言存储相同的文章(它在数据库中创建所选字段的副本,因此可以翻译它们), 在这种情况下如何生成站点地图?

(忘了说,我正在使用localurl应用程序,所以我的网址看起来像http://site/en)。

2 个答案:

答案 0 :(得分:1)

站点地图应用程序的工作原理是让您编写站点地图类,每个类都有一个项目方法。您只需要为每种语言构建一个这样的类,并确保只查询每个类具有该特定语言的模型。该文档有一个simple sitemap example,可以帮助您入门。

答案 1 :(得分:0)

要生成每种语言的站点地图,您可以使用以下内容:

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