Skip to main content
 首页 » 编程设计

python之静态 Sitemap.xml Django

2024年11月01日31落叶无声

我是 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')),???? 
) 

如何根据模板/页面中的页面生成站点地图?

请您参考如下方法:

前面答案的替代方法是执行类似的操作,将 robots.txt 文件添加到您的 urls.py 文件。

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 ,对于 机器人来说它是 text/plain .txt 文件