Создание класса карты сайта, возвращающего URL с двумя аргументами
У меня есть набор элементов = [a,b,c]
У меня есть страница, которая принимает два элемента и сравнивает их.
Таким образом, URL выглядят следующим образом:
http://127.0.0.1:8000/compare/a/b
http://127.0.0.1:8000/compare/a/c
http://127.0.0.1:8000/compare/b/c
Как я могу сделать класс sitemap, чтобы представить их все?
*Это мой класс sitemap с одним аргументом
class ItemsSitemap(Sitemap):
changefreq = "monthly"
priority = 0.8
def items(self):
return Items.objects.order_by('id')
def location(self, obj):
return '/items/%s' % (obj.id)
Хорошо, вот как я заставил его работать:
from itertools import combinations
class ComparisonSitemap(Sitemap):
changefreq = "monthly"
priority = 0.8
def items(self):
itemlist= Items.objects.order_by('id')
itemids= itemlist.values_list('id',flat=True)
pairs = list(combinations(itemids,2))
return pairs
def location(self,pairs):
return '/comparison/{}/{}'.format(pairs[0],pairs[1])
Спасибо Iain за подсказку!