2015-07-11 40 views
1

我卡到這個問題上的Django 1.6的Django 1.6:名稱 '網站地圖' 沒有定義

這是我sitemaps.py

from django.contrib import sitemaps 
from django.core.urlresolvers import reverse 

from datetime import datetime 

class ContratalosSitemap(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.now() 

這是我urls.py

from django.conf.urls import patterns, include, url 
from django.conf import settings 
from django.contrib import admin 
from django.contrib.sitemaps import Sitemap 
from sitemaps.py import ContratalosSitemap 

#Declaration for sitemaps url 

sitemaps = { 
    'pages' : ContratalosSitemap, 
} 

urlpatterns = patterns(
'apps.contratalos.views', 
url(r'c/(?P<slug>\.*[^ ]{1,128})?/', 'c', name='content'), 
url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps'$ 
) 

我我陷入了這個問題,可能是什麼原因?

我跟着thisthis

,但沒有運氣尚未=/

任何想法嗎?

在此先感謝!

回答

1

隨着import sitemap你只輸入模塊的名字。所以如果你想在模塊中使用某些東西,你也需要寫sitemap.Sitemap

如果您編寫from sitemap import Sitemap,您可以從模塊中專門導入Sitemap類,並可以直接使用它,就像在代碼中一樣。

您也可以做from sitemap import *,它將導入模塊中的所有定義。但不推薦,因爲你可能只使用它的一些名字。

2

類定義更改爲ContratalosSitemap(sitemaps.Sitemap):類,它應該工作

+0

非常感謝! – NeoVe

相關問題