2017-09-01 3 views
0

Je n'arrive pas à obtenir l'installation de Django pour générer un sitemap pour moi.Ajout d'un sitemap à Django 1.10.7

J'ai ajouté ce qui suit à mes paramètres fichier

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

et dans mes urls fichiers que je donne les résultats suivants:

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')), 
] 

Lors du déploiement de ces modifie je reçois l'erreur suivante sur le site:

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

Toutes les pensées seraient les bienvenues.

fichier modifié 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')), 
] 

Répondre

0

Essayez:

from django.contrib.sitemaps.views import sitemap 

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

et enlever

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

toutes les informations pour la solution est dans l'erreur view must be a callable or a list/tuple in the case of include()

+0

qui vient jette une erreur: NameError at /sitemap.xml/ name 'CMSSitemap' n'est pas défini –

+0

avez-vous supprimé 'de cms.sitemaps import CMSSitemap' si oui = pourquoi? ou d'autres où vous n'ajoutez pas cette importation –

+0

Im un peu confus devrait le lire comme suit: de django.conf.urls importation comprennent, url par admin de l'importation de django.contrib cms.sitemaps importer CMSSitemap de django .contrib.sitemaps.views importation plan du site de vues à l'importation ames admin.autodiscover() urlpatterns = [url (r^admin/', comprennent (admin.site.urls)), url (r »^contact/', include (' contact.urls ')), url (r'^news/', include (' news.urls ')), url (r'^sitemap.xml $ ', plan du site, { 'sitemaps': {'cmspages': CMSSitemap}}), url (r '^ $', views.home), url (r '^', include ('cms.urls')), ] –