Przepraszamy za mój zły angielski, ale nie jestem angielski!django sitemap http://example.com
Próbuję wygenerować plik sitemap.xml przy pomocy mojego projektu django.
W moim projekcie nie mam modeli (moja baza danych jest pusta), mam tylko statyczny URL (np. "Dom" lub "O").
Udało mi się wygenerować plik sitemap.xml, ale zamiast nazwy mojej domeny mam "http://example.com".
To moje 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>
i moje 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)
A moja 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)
Mam nadzieję, że rozumiesz mój angielski i mam nadzieję, że możesz mi pomóc!
serdecznie,
sushi
[Oto kilka istotnych lektur w ramce 'Sites'] (https://docs.djangoproject.com/en/dev/ref/contrib/sites/) –
Świetne, dzięki. Właśnie dlatego otrzymałem 'TemplateDoesNotExist: sitemap.xml' kiedy ustawiłem bardzo podstawową mapę witryny i wypróbowałem ją na localhost: mój SITE_ID w settings.py został zakodowany na" domain.com ", dlatego nie było pracuję lokalnie dla mnie – Mark