I have been working on the implementation of the sitemaps on Django-2.2 for the Blog website.
The code structure I followed was-
Sitemaps.py
from django.contrib.sitemaps import Sitemap
from .models import Post
class PostSitemap(Sitemap):
changefreq = "never"
priority = 0.9
def items(self):
return Post.objects.all()
urls.py
from django.contrib.sitemaps.views import sitemap
from .sitemaps import PostSitemap
sitemaps = {
'posts': PostSitemap
}
urlpatterns = [
url(r'^sitemap\.xml/$', sitemap, {'sitemaps' : sitemaps } , name='sitemap'),
]
settings.py
INSTALLED_APPS = [
...
'django.contrib.sites',
'django.contrib.sitemaps',
]
SITE_ID = 1
I guess that was pretty much it as I referenced so many links.
but when I open 127.0.0.1:8000/sitemap.xml
It gives me th following error-
This page contains the following errors:
error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.
That's it, nothing on the server log. Please, If anyone can please help me out. Thanks in advance