2013-03-14 7 views
14

मेरी खराब अंग्रेजी के लिए खेद है लेकिन मैं अंग्रेजी नहीं हूं!django साइटमैप http://example.com

मैं अपने django प्रोजेक्ट के साथ sitemap.xml उत्पन्न करने का प्रयास करता हूं।

मेरी परियोजना में मेरे पास मॉडल नहीं हैं (मेरा डेटाबेस खाली है), मेरे पास स्थिर स्थिर यूआरएल है (जैसे 'घर' या 'इसके बारे में')।

मुझे साइटमैप.एक्सएमएल उत्पन्न करने के लिए सफलता मिली लेकिन मेरे पास "http://example.com" है जो मेरे डोमेन नाम के बजाय है।

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> 
<url> 
<loc> 
http://example.com/accueil 
</loc> 
<lastmod> 
2013-03-14 
</lastmod> 
<changefreq> 
weekly 
</changefreq> 
</url> 
<url> 
<loc> 
http://example.com/cv 
</loc> 
<lastmod> 
2013-03-14 
</lastmod> 
<changefreq> 
weekly 
</changefreq> 
</url> 
<url> 
<loc> 
http://example.com/portfolio 
</loc> 
<lastmod> 
2013-03-14 
</lastmod> 
<changefreq> 
weekly 
</changefreq> 
</url> 
<url> 
<loc> 
http://example.com/a_propos 
</loc> 
<lastmod> 
2013-03-14 
</lastmod> 
<changefreq> 
weekly 
</changefreq> 
</url> 
</urlset> 

और मेरे urls.py:

from django.conf.urls import patterns, include, url 
from django.conf import settings 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.conf.urls.static import static 

from sitemaps import BasicSitemap 
# Uncomment the next two lines to enable the admin: 
# from django.contrib import admin 
# admin.autodiscover() 

sitemaps= { 
    'pages' : BasicSitemap(['accueil','cv','portfolio','apropos']) 
} 

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'portfolio.views.home', name='home'), 
    # url(r'^portfolio/', include('portfolio.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    # url(r'^admin/', include(admin.site.urls)), 
    url(r'^', include('portail_portfolio.urls')), 
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}) 

)

urlpatterns += staticfiles_urlpatterns() + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) 

और मेरे sitemaps.py:

from django.contrib.sitemaps import Sitemap 
from django.core.urlresolvers import reverse 
#from portail_portfolio.models import Entry 

from datetime import datetime 

class BasicSitemap(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() 

    def location(self,obj): 
     return reverse(obj) 

यह मेरा sitemap.xml है

मुझे आशा है कि आप मेरी अंग्रेजी को समझ सकते हैं और मुझे उम्मीद है कि आप मेरी मदद कर सकते हैं!

Cordially,

सुशी

उत्तर

28

django.contrib.sitemapsdjango.contrib.sites पर निर्भर करता है।

अपने व्यवस्थापक अनुभाग /admin/sites/site/1/ पर जाएं और वहां दिखाई देने वाले डोमेन नाम को बदलें।

+0

[यहां 'साइट्स फ्रेमवर्क' पर कुछ प्रासंगिक पठन है (https://docs.djangoproject.com/en/dev/ref/contrib/sites/) –

+0

शानदार, धन्यवाद। यही कारण है कि जब मैं एक बहुत ही बुनियादी साइटमैप स्थापित करता हूं और स्थानीयहोस्ट पर कोशिश करता हूं तो मुझे 'TemplateDoesNotExist: sitemap.xml' प्राप्त हो रहा था: settings.py में मेरा SITE_ID" domain.com "पर हार्डकोड किया गया था, इसलिए यही नहीं था मेरे लिए स्थानीय रूप से काम कर रहा हूँ – Mark

संबंधित मुद्दे