Django添加feeds功能的示例


Posted in Python onAugust 07, 2018

概念:RSS和Atom都是基于XML的格式,你可以用它来提供有关你站点内容的自动更新的feed。了解更多关于RSS的可以访问 http://www.whatisrss.com/ , 更多Atom的信息可以访问 http://www.atomenabled.org/ .

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网络摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。

其实就是一种聚合阅读,这样可以用feedly等工具来订阅你喜欢的网站,这样他们的网站更新了之后你就可以通过feedly这种工具来阅读更新的内容,而不用跑到网站上面去查看。

下面介绍下如何在你的Django网站中添加RSS功能,其实很简单:

1、首先建立一个Feed类,这个Feed类提供了源所需要的数据:title,link,description

示例代码如下: 创建feed.py:

from django.contrib.syndication.views import Feed
from blog.models import Article
from django.conf import settings
from django.utils.feedgenerator import Rss201rev2Feed
from DjangoBlog.common_markdown import common_markdown
from django.contrib.auth import get_user_model
from django.contrib.auth.models import User
from django.contrib.sites.models import Site


class DjangoBlogFeed(Feed):
  feed_type = Rss201rev2Feed

  description = settings.SITE_DESCRIPTION
  feed_url = 'https://www.fkomm.cn/feed'
  title = "%s %s " % (settings.SITE_NAME, settings.SITE_DESCRIPTION)
  link = "https://www.fkomm.cn"

  def author_name(self):
    return get_user_model().objects.first().nickname

  def author_link(self):
    return get_user_model().objects.first().get_absolute_url()

  def items(self):
    return Article.objects.order_by('-pk')[:5]

  def item_title(self, item):
    return item.title

  def item_description(self, item):
    return common_markdown.get_markdown(item.body)

  def feed_copyright(self):
    # print(Site.objects.get_current().name)
    return "Copyright© 2018 " + settings.SITE_NAME

  def item_link(self, item):
    return item.get_absolute_url()

  def item_guid(self, item):
    return

2、然后在urls.py中添加:

from DjangoBlog.feeds import DjangoBlogFeed


urlpatterns = [
  ......
  url(r'^feed/$',DjangoBlogFeed()),
]

至此,全部完成,可以打开

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
推荐11个实用Python库
Jan 23 Python
Python中使用Boolean操作符做真值测试实例
Jan 30 Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 Python
Python爬虫实现百度图片自动下载
Feb 04 Python
Python中的asyncio代码详解
Jun 10 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
python 实现手机自动拨打电话的方法(通话压力测试)
Aug 08 Python
python元组和字典的内建函数实例详解
Oct 22 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
Pytorch的mean和std调查实例
Jan 02 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
python ETL工具 pyetl
Jun 07 Python
Python爬虫实现抓取京东店铺信息及下载图片功能示例
Aug 07 #Python
Django添加favicon.ico图标的示例代码
Aug 07 #Python
Python实现的json文件读取及中文乱码显示问题解决方法
Aug 06 #Python
Python装饰器模式定义与用法分析
Aug 06 #Python
Python实现的建造者模式示例
Aug 06 #Python
Django中日期处理注意事项与自定义时间格式转换详解
Aug 06 #Python
python 地图经纬度转换、纠偏的实例代码
Aug 06 #Python
You might like
PHP读MYSQL中文乱码的解决方法
2006/12/17 PHP
PHP中cookies使用指南
2007/03/16 PHP
php笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
php仿QQ验证码的实例分析
2013/07/01 PHP
php计算整个目录大小的方法
2015/06/01 PHP
php中switch语句用法详解
2015/08/17 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
javascript实现去除HTML标签的方法
2016/12/26 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
js获取json中key所对应的value值的简单方法
2020/06/17 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
mui上拉加载更多下拉刷新数据的封装过程
2017/11/03 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
vue添加class样式实例讲解
2019/02/12 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
numpy按列连接两个维数不同的数组方式
2019/12/06 Python
python实现超级马里奥
2020/03/18 Python
美国求婚钻戒网站:Super Jeweler
2016/08/27 全球购物
奥兰多迪士尼门票折扣:Undercover Tourist
2018/07/09 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
个人求职简历中英文自我评价
2013/12/16 职场文书
机关办公室岗位职责
2014/04/16 职场文书
佛光寺导游词
2015/02/10 职场文书
岗位聘任报告
2015/03/02 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
培训心得体会怎么写
2016/01/25 职场文书