2017-09-01 80 views
0

我有問題得到Django安裝程序爲我生成站點地圖。添加一個站點地圖到Django 1.10.7

我加入以下到我的設置文件

'django.contrib.sites', 
'django.contrib.sitemaps', 

,並在我的網址文件,我有以下幾點:

from django.conf.urls import include, url 
from django.contrib import admin 

from ames import views 

from cms.sitemaps import CMSSitemap 

admin.autodiscover() 

urlpatterns = [ 
url(r'^admin/', include(admin.site.urls)), 
url(r'^contact/', include('contact.urls')), 
url(r'^news/', include('news.urls')), 
url(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': {'cmspages': CMSSitemap}}), 
url(r'^$', views.home), 
url(r'^', include('cms.urls')), 
] 

在部署這些賠償我得到的網站上看到以下錯誤:

TypeError at /sitemap.xml/ 
view must be a callable or a list/tuple in the case of include(). 

任何想法都會受到歡迎。

修訂urls.py文件:

from django.conf.urls import include, url 
from django.contrib import admin 
from cms.sitemaps import CMSSitemap 
from django.contrib.sitemaps.views import sitemap 
from ames import views 

admin.autodiscover() 

urlpatterns = [ 
url(r'^admin/', include(admin.site.urls)), 
url(r'^contact/', include('contact.urls')), 
url(r'^news/', include('news.urls')), 
url(r'^sitemap.xml$', sitemap, {'sitemaps': {'cmspages': CMSSitemap}}), 
url(r'^$', views.home), 
url(r'^', include('cms.urls')), 
] 

回答

0

嘗試:

from django.contrib.sitemaps.views import sitemap 

# you code 
    url(r'^sitemap.xml$', sitemap, {'sitemaps': {'cmspages': CMSSitemap}}), 

,並刪除

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

所有信息的解決方案是錯誤view must be a callable or a list/tuple in the case of include()

+0

這只是拋出一個錯誤: NameError at /sitemap.xml/ 名稱'CMSSitemap'未定義 –

+0

您是否從cms.sitemaps中刪除了導入CMSSitemap'如果是=爲什麼?或者有些地方你不加這個進口 –

+0

林有點困惑應將其內容如下: 從django.conf.urls導入已包括URL 從django.contrib中導入管理 從cms.sitemaps從Django中導入CMSSitemap .contrib.sitemaps.views從埃姆斯進口視圖進口站點地圖 admin.autodiscover() urlpatterns的= [ URL(R '^管理員/',包括(admin.site.urls)), URL(R」 (''news /',include('news.urls')), url(r'^ sitemap.xml $',sitemap,{^ contact /',include('contact.urls')), url 'sitemaps':{'cmspages':CMSSitemap}}), url(r'^ $',views.home), url(r'^',include('cms.urls')), ] –