python - 静态 Sitemap.xml Django

标签 python xml django sitemap

我是 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 文件

关于python - 静态 Sitemap.xml Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22676959/

相关文章:

c# - 如何在运行时针对 xsd 验证 xml 而无需将 xsd 文件保存在本地文件夹中?

python - 更改 RadioSelect django 小部件的默认标记

python - 带有两个提交按钮的 Django 表单。 . .一个需要字段,一个不需要

python - 如何在python中有条件地选择上一行的值?

python - Selenium 安装 Marionette webdriver

c# - xsi :schemaLocation 出现问题

python - django-storages dropbox.stone_validators.ValidationError

python - 在 Python 中实现离散高斯核?

python - zlib.错误 : Error -5 while decompressing data: incomplete or truncated stream in Python

php - 使用应用模板在 XSLT 输出中保留 和其他特殊字符