Внедрение sitemaps в Django

У меня возникла проблема с внедрением sitemaps в моем приложении. Я использую Virtualenv, django 1.4 и Python 2.7. Буду признателен, если вы поможете мне решить эту проблему.

Это то, что я сделал:

  1. В моем urls.py

    from sitemap import JobPostSitemap sitemaps = { 'jobs': JobPostSitemap, } ... # Removed other urls url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}), 
  2. Затем в файле 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 
  3. Мой файл 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 

Я не могу понять, что я пропустил или делаю неправильно.

4 Solutions collect form web for “Внедрение sitemaps в Django”

У меня была схожая ошибка. Я изменил определение urls.py следующим образом:

 from sitemap import JobPostSitemap from django.contrib.sitemaps.views import sitemap sitemaps = { 'jobs': JobPostSitemap, } ... # Removed other urls url(r'^sitemap\.xml$', sitemap, {'sitemaps': sitemaps}), 

и это сработало для меня. Я не знаю, почему …

Это может быть проблема PYTHONPATH . Запустите python manage.py shell и попробуйте import django.contrib.sitemaps

Вероятно, проблема заключается в конфигурации url.py, которую вы не полностью подали. В моем случае я случайно оставил префикс формы: urlpatterns = patterns('...') что помешало Django найти правильный путь.

Чтобы активировать создание Sitemap на вашем сайте Django, добавьте эту строку в свой URLconf:

 (r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}) 

Это сообщает Django о создании файла Sitemap, когда клиент обращается к /sitemap.xml.

 
Interesting Posts for Van-Lav

Проблема с grouby на миллионы ключей на файл с чередованием в python pandas

Включение вывода отладки для python 3 urllib

Преобразование списка символов в строку

IDE PEcharm пытается загрузить сценарий django из sh вместо bash

Scrapy: организация программы при взаимодействии со вторичным веб-сайтом

Исключение при попытке установить Django-Treebeard на основе инструкций

Как применить кусочно-линейную посадку в Python?

Отслеживание атрибутов объекта Python 2.7.x на уровне класса для быстрого создания массива numpy

Утверждение не выполнено: модель не найдена для «0» Django REST и Ember Adapter

Как я могу получить доступ к переменной класса в инициализаторе в Python?

Подсчет биграмм (пара двух слов) в файле с использованием python

Скребок PDF с использованием R

PyQt4, QThread и открытие больших файлов без замораживания GUI

django для разрыва счетчика циклов

Как использовать acceptSslCerts с помощью RemoteWebdriver?

Python - лучший язык программирования в мире.