我遇到了在我的應用程序中實現站點地圖的問題。我使用的是Virtualenv,django 1.4和Python 2.7。如果你能幫我解決這個問題,我將不勝感激。在Django中實現站點地圖
這是我做了什麼:
在我的urls.py
from sitemap import JobPostSitemap sitemaps = { 'jobs': JobPostSitemap, } ... # Removed other urls url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
然後在我的sitemap.py文件
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
我的settings.py文件如下:
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', ) ...
現在,當我打開我的瀏覽器,然後導航到http://localhost:8000/sitemap.xml
,我得到以下錯誤:
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
我想不出什麼我已經錯過了還是做錯了。
你是否遵循了'sitemap'的所有安裝步驟?所需的步驟[這裏](https://docs.djangoproject.com/en/dev/ref/contrib/sitemaps/) – doru
@doru是的。我遵循了所有的步驟。 – Frankline
您是否找到解決方案? –