Пример использования функции reverse() при построении sitemap.xml для Django

Иногда, при построении карты сайта удобно пользоваться reverse() из django.core.urlresolvers

from django.contrib.sitemaps import Sitemap
from django.core.urlresolvers import reverse
from views import root, product_detail, products_list
class RootSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.9
    def items(self):
        return [root]
    def location(self, obj):
        return reverse(obj)
class ProductDetailSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.9
    def items(self):
        return Products.objects.all()
    def location(self, obj):
        return reverse(products_list, kwargs={'product_id': obj.pk})
class ProductsListSitemap(Sitemap):
    changefreq = "weekly"
    priority = 0.5
    def items(self):
        return Pets.objects.order_by('url_id')
    def location(self, obj):
        return reverse('products_list', args=[obj.url_id])

Добавить комментарий

Ваш адрес email не будет опубликован.