Моя карта сайта генерируется следующим образом:Как форматировать django сгенерированную карту сайта lastmod date?
from django.contrib.sitemaps import Sitemap
from django.utils import timezone
class StaticViewSitemap(Sitemap):
priority = 0.5
changefreq = 'daily'
def items(self):
return ['index', 'contacts']
def lastmod(self, item):
return timezone.now()
как Джанго DOCS says, LASTMOD возвращает DateTime. Он оказывает sitemap.xml LastMod в формате 'гггг-мм-дд' и выглядит так:
<urlset>
<url>
<loc>http://127.0.0.1/index</loc>
<lastmod>2016-10-19</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>http://127.0.0.1/contacts</loc>
<lastmod>2016-10-19</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
Но как я мог бы изменить LASTMOD формат ISO8601 (мне это нужно: 2008-01-02T10: 30: 00+ 2:00), чтобы получить это:
<urlset>
<url>
<loc>http://127.0.0.1/index</loc>
<lastmod>2016-10-19T00:25:00+03:00</lastmod>
<changefreq>daily</changefreq>
</url>
<url>
<loc>http://127.0.0.1/contacts</loc>
<lastmod>2016-10-19T00:25:00+03:00</lastmod>
<changefreq>daily</changefreq>
</url>
</urlset>
Я играл делая путь заказных форматов ", как сказал here (локализации формата Джанго), но не нашел, какие настройки я должен изменить, чтобы получить соответствующий формат дату. Спасибо.
Мой urls.py:
...
sitemaps = {
'static': StaticViewSitemap
}
urlpatterns = [
...
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
...
]
Как вы создаете карту своего сайта? Отправьте свои url.py и любые пользовательские шаблоны sitemap (если есть). – Selcuk
Я добавил обновление. – mikhaylenko
Вы должны написать собственный шаблон, использовать соответствующий формат даты и времени и включить этот шаблон в свой 'urls.py'. Подробнее см. Https://docs.djangoproject.com/en/1.10/ref/contrib/sitemaps/#template-customization. – Selcuk