sitemap 主要是描述了网站的结构, 使得搜索引擎更容易的理解网站得内容。具体 sitemap 生成可以参考 sietmaps.org
Django sitemap 的建立:
- 在 setting.py 的 INSTALLED_APPS 中增加 ‘django.contrib.sitemaps’在你的 TEMPLATE_LOADERS 中已经加载 ‘django.template.loaders.app_directories.Loader’确定你已经安装了 site framework
TEMPLATE_LOADERS = ( 'django.template.loaders.app_directories.Loader',)INSTALLED_APPS = { 'django.contrib.sitemaps',}
为你的站点建立 sitemap。架设你的站点是一个 blog 为主的网站,那么你需要在你的 views.py 中添加如下代码:
from django.contrib.sitemaps import Sitemapfrom blog.models import Blogclass BlogSitemap(Sitemap): changefreq = 'hourly' priority = 0.5 def items(self): return Blog.objects.all() def lastmod(self, obj): return obj.create_time def location(self, obj): return "/blog/%d" % obj.pk
注意:
- changefreq 和 priority 是 Sitemap 类的两个属性。 changefreq 是页面改变的频率。 priority 是优先级items() 是 sitemap 对象的列表lastmod 返回一个 Python datetime 对象location 可以制定对象的URI。默认 location() 调用 get_absolute_url()
最后在 urls.py 中加入如下代码:
sitemaps = { 'blog': BlogSitemap,}urlpatterns += ( url(r'sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps':sitempas}),)
原文地址:Django Sitemap 应用实例, 感谢原作者分享。 无论何时何地,只要创造就有收获,只有不息的奋进,才能证明生命的存在。