Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

django sitemap http://example.com

Tags:

Sorry for my bad english but i'm not english!

I try to generate a sitemap.xml with my django project.

In my project i don't have models (my database is empty), i have just static url (like 'home' or 'About' ).

I succeded to generate a sitemap.xml but i have "http://example.com" instead that my domain name.

This is my sitemap.xml:

<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> 

and my 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) 

And my 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) 

I hope you can understand my english and i hope you can help me!

Cordially,

sushi

like image 289
salt Avatar asked Mar 14 '13 06:03

salt


1 Answers

django.contrib.sitemaps relies on django.contrib.sites.

Go into your admin section /admin/sites/site/1/ and change the domain name you see there.

like image 181
Thomas Avatar answered Oct 06 '22 04:10

Thomas