I'm having a problem implementing the sitemaps in my application. I'm using Virtualenv, django 1.4 and Python 2.7. I would appreciate if you can help me resolve this.
This is what I have done:
In my urls.py
from sitemap import JobPostSitemap
sitemaps = {
'jobs': JobPostSitemap,
}
... # Removed other urls
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
Then in my sitemap.py file
from django.contrib.sitemaps import Sitemap
from jobs.models import JobPost
class JobPostSitemap(Sitemap):
changefreq = "never"
priority = 0.5
def items(self):
return JobPost.objects.filter(approved=True)
def lastmod(self, obj):
return obj.pub_date
My settings.py file is as follows:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
...
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sitemaps',
'jobs',
)
...
Now when I open my browser and navigate to http://localhost:8000/sitemap.xml
, I get the following error:
ImportError at /sitemap.xml
No module named django.contrib.sitemaps
Request Method: GET
Request URL: http://localhost:8000/sitemap.xml
Django Version: 1.4.2
Exception Type: ImportError
Exception Value:
No module named django.contrib.sitemaps
Exception Location: /home/frank/Projects/python/django/techjobsea.com/baseline27/local/lib/python2.7/site-packages/Django-1.4.2-py2.7.egg/django/utils/importlib.py in import_module, line 35
Python Executable: /home/frank/Projects/python/django/techjobsea.com/baseline27/bin/python
Python Version: 2.7.3
I can't figure out what I've missed or doing wrong.
I had similar error. I changed urls.py definition like that:
from sitemap import JobPostSitemap
from django.contrib.sitemaps.views import sitemap
sitemaps = {
'jobs': JobPostSitemap,
}
... # Removed other urls
url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}),
and It worked for me. I don't know why...
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With