Si vous voulez vraiment faire cela, vous devrez étendre django.contrib.sitemaps.Sitemap.get_urls
pour ajouter les informations méta supplémentaires au dictionnaire url_info
. Le get_urls
courant est donnée ci-dessous à partir django.contrib.sitemaps:
def get_urls(self, page=1, site=None):
if site is None:
if Site._meta.installed:
try:
site = Site.objects.get_current()
except Site.DoesNotExist:
pass
if site is None:
raise ImproperlyConfigured("In order to use Sitemaps you must either use the sites framework or pass in a Site or RequestSite object in your view code.")
urls = []
for item in self.paginator.page(page).object_list:
loc = "http://%s%s" % (site.domain, self.__get('location', item))
priority = self.__get('priority', item, None)
url_info = {
'location': loc,
'lastmod': self.__get('lastmod', item, None),
'changefreq': self.__get('changefreq', item, None),
'priority': str(priority is not None and priority or '')
}
urls.append(url_info)
return urls
Après cela, vous devrez changer django/contrib/sitemaps/templates/sitemap.xml
d'inclure vos informations supplémentaires dans le plan du site. Sans rapport avec Django si vous ajoutez des méta-informations supplémentaires, vous devriez lire la section sur le protocole sitemaps.org concernant extending the protocol.
Que voulez-vous exactement faire? Êtes-vous sûr que ce n'est pas possible avec la classe Sitemap? Voir aussi: http://docs.djangoproject.com/fr/dev/ref/contrib/sitemaps/ – stefanw