静态 Sitemap.xml Django
我刚接触Django,想添加一个基本的sitemap.xml文件。我只有静态页面。请问我该如何添加一个简单的sitemap.xml,以便我可以通过http://mydomain.com/sitemap.xml访问它呢?
urls.py
pages
--- templates
---- pages
-- about.html
-- contact.html
-- etc...
--- views.py
在我的urls.py文件中:
from django.conf.urls import patterns, include, url
from django.views.generic.base import TemplateView
from [myfolder].pages.views
from django.contrib import admin
from django.views.generic import RedirectView
urlpatterns = patterns('',
url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name='home'),
url(r'^about/$', TemplateView.as_view(template_name='about.html')),
url(r'^sitemap\.xml/$', TemplateView.as_view(template_name='sitemap.xml')),????
)
我该如何根据我在templates/pages文件夹中的页面生成一个sitemap呢?
2 个回答
1
看看Django-static-sitemap这个工具吧。它实际上是用来生成XML文件的。你可以在这里找到它:https://github.com/xaralis/django-static-sitemaps
6
之前的回答还有一种替代方案,就是在你的 urls.py
文件中添加一个类似于 robots.txt
的文件。
from django.views.generic import TemplateView
urlpatterns = patterns('',
url(r'^sitemap\.xml$', TemplateView.as_view(template_name='sitemap.xml', content_type='text/xml')),
)
唯一的不同是要把 content_type
的值改成 text/xml
,而对于 robots.txt
文件来说,它的值是 text/plain
。