Meine Sitemap erzeugt auf diese Weise:Wie formatiert django generierte Sitemap 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()
Als django docs says, lastmod Datetime zurückkehrt. Es macht sitemap.xml lastmod zu 'yyyy-mm-dd' Format und sieht so:
<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>
Aber wie kann ich lastmod Format ISO8601 ändern (Ich brauche dies: 2008-01-02T10: 30: 00+ 02.00), dies zu erhalten:
<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>
ich habe rumgespielt machen Weg custom ‚Formate‘ wie die here (Lokalisierung Django-Format), aber welche Einstellung sollte ich bekommen ändern entsprechende Datumsformat nicht gefunden. Danke.
Mein urls.py:
...
sitemaps = {
'static': StaticViewSitemap
}
urlpatterns = [
...
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}, name='django.contrib.sitemaps.views.sitemap'),
...
]
Wie generieren Sie Ihre Sitemap? Veröffentlichen Sie Ihre 'urls.py' und alle benutzerdefinierten Sitemap-Vorlagen (falls vorhanden). – Selcuk
Ich habe ein Update hinzugefügt. – mikhaylenko
Sie sollten eine benutzerdefinierte Vorlage schreiben, das entsprechende Datetime-Format verwenden und diese Vorlage in Ihre 'urls.py' einfügen. Einzelheiten finden Sie unter https://docs.djangoproject.com/de/1.10/ref/contrib/sitemaps/#template-customization. – Selcuk