fdfsdafd

为你的站点添加一个站点地图

Django自带一个站点地图(sitemap)框架,允许你为你的站点动态生成站点地图(sitemap)。一个站点地图(sitemap)是一个xml文件,它会告诉搜索引擎你的网站中存在的页面,它们的关联和它们更新的频率。使用站点地图(sitemap),你可以帮助网络爬虫(crawlers)来对你的网站内容进行索引和标记。

setting.py文件做站点地图相关设置
SITE_ID = 1
# Application definition
INSTALLED_APPS = (
# ...
'django.contrib.sites',
'django.contrib.sitemaps',
)
数据表迁移

python manage.py migrate

在应用下新建sitemaps.py文件

from django.contrib.sitemaps import Sitemap
from .models import Post

class PostSitemap(Sitemap):
   changefreq = 'weekly'
   priority = 0.9
   def items(self):
       return Post.published.all()
   def lastmod(self, obj):
       return obj.publish
添加我们的站点地图(sitemap)URL。编辑项目中的主*urls.py文件,如下所示添加站点地图(sitemap)
from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.sitemaps.views import sitemap
from blog.sitemaps import PostSitemap

sitemaps = {
   'posts': PostSitemap,
}

urlpatterns = [
  ...
   url(r'^sitemap.xml$', sitemap, {'sitemaps': sitemaps},
       name='django.contrib.sitemaps.views.sitemap'),
]

Django Feed 类做RSS

应用的根目录下新建一个 feeds.py 文件以存放和 RSS 功能相关的代码.然后在feeds.py中写入如下代码:
from django.contrib.syndication.views import Feed

from .models import Post

class AllPostRssFeed(Feed):
   # 显示在聚合阅读器上的标题
   title = "千峰博客"

   # 通过聚合阅读器跳转到网址的地址
   link = '/index/'

   # 显示在聚合阅读器上的描述信息
   description = "千峰博客项目演示测试"

   # 需要显示的内容条目
   def items(self):
       return Post.objects.all()

   # 聚合器中显示的内容条目的标题
   def item_title(self, item):
       return '[%s]%s' % (item.category, item.title)

   # 聚合器中显示的内容条目的描述
   def item_description(self, item):
       return item.body
添加url

#接下来就是指定 URL 模式,让人们访问这个 URL 后就可以看到 Feed 生成的内容。
#通常 RSS 的 URL 配置直接写在项目的 urls.py 文件里。
#项目的urls.py中:
#记得在顶部引入 AllPostsRssFeed
url(r'^all/rss/$', AllPostRssFeed(), name='rss'),
修改模板
#简单修改一下基模板,把 RSS 的 URL 添加到模板中,放在标签云下面:
#【templates/base.html】
<div class="rss">
       <a href="{% url 'rss' %}"><span class="ion-social-rss-outline"></span> RSS 订阅</a>
   </div>
RSS测试插件

使用360浏览器,安装一个RSS Feed Reader应用。
订阅我们的rss地址即可:http://127.0.0.1:8000/all/rss/
原文地址:https://www.cnblogs.com/hhy-love-python/p/rwewe.html