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 相关文章推荐
python 布尔操作实现代码
Mar 23 Python
Python中字典和JSON互转操作实例
Jan 19 Python
python3 shelve模块的详解
Jul 08 Python
Python模拟三级菜单效果
Sep 11 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
Mar 22 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
详解Python网络框架Django和Scrapy安装指南
Apr 01 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
基于h5py的使用及数据封装代码
Dec 26 Python
解决python对齐错误的方法
Jul 16 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 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开发GUI
2006/10/09 PHP
PHP生成树的方法
2015/07/28 PHP
PHP图片水印类的封装
2017/07/06 PHP
基于jQuery的输入框无值自动显示指定数据的实现代码
2011/01/24 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
解析javascript系统错误:-1072896658的解决办法
2013/07/08 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
jQuery和AngularJS的区别浅析
2015/01/29 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
微信小程序 后台登录(非微信账号)实例详解
2017/03/31 Javascript
JS/jquery实现一个网页内同时调用多个倒计时的方法
2017/04/27 jQuery
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
用js编写留言板
2020/03/17 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
基于redis的小程序登录实现方法流程分析
2020/05/25 Javascript
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
详解Python中DOM方法的动态性
2015/04/11 Python
python编写爬虫小程序
2015/05/14 Python
python实现可视化动态CPU性能监控
2018/06/21 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
经典优秀毕业生求职信范文分享
2013/12/18 职场文书
学生自我鉴定模板
2013/12/30 职场文书
校长就职演讲稿
2014/01/06 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
道路交通安全实施方案
2014/03/12 职场文书
师德自我剖析材料范文
2014/10/06 职场文书
2014年职称评定工作总结
2014/11/26 职场文书
2014年合同管理工作总结
2014/12/02 职场文书
写作技巧:如何撰写一份优秀的营销策划书
2019/08/13 职场文书
mybatis使用oracle进行添加数据的方法
2021/04/27 Oracle