一、任务
- RSS 介绍
- RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,它采用 XML 作为内容传递的格式。
- RSS 订阅
二、过程
2.1 步骤
- blog 下创建 feeds.py,编写订阅的 xml
- blog 的 toc,body_html 写成可缓存的属性
- 添加 url 路径
- 修改页面模板上的 RSS 路径
- RSS 插件测试
2.2 代码
from django.contrib.syndication.views import Feed
from .models import Post
class AllPostsRssFeed(Feed):
title = 'HelloDjango-blog-tutorial'
link = '/'
description = 'HelloDjango-blog-tutorial 全部文章'
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_html
from blog.feeds import AllPostsRssFeed
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('blog.urls')),
path('', include('comments.urls')),
path('all/rss/', AllPostsRssFeed(), name='rss'),
]
<div class="rss">
<a href="{% url 'rss' %}"><span class="ion-social-rss-outline"></span> RSS 订阅</a>
</div>
三、问题
- Chrome 安装 RSS 插件?
- 使用了@property,为什么不用迁移数据库
附上 Gitee 地址:https://gitee.com/langxing/HelloDjango-blog-tutorial