Django 1.6: el nombre ‘sitemaps’ no está definido

Estoy intentando implementar sitemaps en mi aplicación django pero me aparece el siguiente error. Estoy usando el framework de django sitemap. No sé qué estoy haciendo mal.

Traceback: File "mysite/urls.py" in  3. from sitemap import * File "mysite/sitemap.py" in  5. class Sitemap(sitemaps.Sitemap): Exception Type: NameError at / Exception Value: name 'sitemaps' is not defined 

Aquí está el archivo sitemap.py

 from django.contrib.sitemaps import Sitemap from meddy1.models import Doctor import datetime class Sitemap(Sitemap): def __init__(self, names): self.names = names def items(self): return self.names def changefreq(self, obj): return 'weekly' def lastmod(self, obj): return datetime.datetime.now() def location(self, obj): return reverse(obj) class DoctorSitemap(Sitemap): changefreq = "Daily" priority = 1 def items(self): return Doctor.objects.all() def lastmod(self, obj): return obj.date 

Aquí está el archivo urls.py

 from django.conf.urls import patterns, include, url from django.contrib import admin from sitemap import * admin.autodiscover() sitemaps = { 'pages':Sitemap(['homepage_imprint', 'homepage_archive']), 'doctor':DoctorSitemap, 'site':Sitemap(['name_of_url', 'name_of_url']), } urlpatterns = patterns('', url(r'^', include('meddy1.urls')), url(r'^', include('django.contrib.auth.urls')), url(r'^admin/', include(admin.site.urls)), url(r'^sitemap\.xml', include('django.contrib.sitemaps.views.sitemap'),{'sitemaps': sitemaps}), ) 

    Importó Sitemaps desde el módulo , no el módulo en sí. Eliminar el nombre del módulo:

     class Sitemap(Sitemap): 

    Esto solo funcionará, aunque esté reemplazando la clase importada aquí.

    Alternativamente, y posiblemente más claro en cuanto a lo que está haciendo, ajuste su importación del módulo. Cambiar la importación desde:

     from django.contrib.sitemaps import Sitemap 

    a:

     from django.contrib import sitemaps 

    Martijn ya proporcionó la respuesta correcta, solo quiero agregar una nota más general sobre los espacios de nombres en Python: cada nombre que uses en Python tiene que venir de algún lugar. Hay una serie de nombres incorporados que siempre están disponibles, por ejemplo, dir (). Aparte de las incorporaciones, cada nombre debe ser creado en su propio código en el módulo O importado de algún otro módulo o paquete:

     >>> x Traceback (most recent call last): File "", line 1, in  NameError: name 'x' is not defined >>> x = 1 >>> x 1 >>> sys Traceback (most recent call last): File "", line 1, in  NameError: name 'sys' is not defined >>> import sys >>> sys