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中使用Tkinter模块创建GUI程序实例
Jan 14 Python
Python 字典与字符串的互转实例
Jan 13 Python
Python温度转换实例分析
Jan 17 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
python实现图片转字符小工具
Apr 30 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
pycharm 实现本地写代码,服务器运行的操作
Jun 08 Python
python openCV实现摄像头获取人脸图片
Aug 20 Python
python利用faker库批量生成测试数据
Oct 15 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
python数据分析之单因素分析线性拟合及地理编码
Jun 25 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中header函数的用法及其注意事项详解
2016/06/13 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
Nginx实现反向代理
2017/09/20 Servers
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
实例解析php的数据类型
2018/10/24 PHP
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
jQuery实现滚动效果
2017/11/17 jQuery
vue 左滑删除功能的示例代码
2019/01/28 Javascript
在Koa.js中实现文件上传的接口功能
2019/10/08 Javascript
分享JS表单验证源码(带错误提示及密码等级)
2020/01/05 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
[02:36]DOTA2英雄基础教程 一击致命幻影刺客
2013/12/06 DOTA
[57:28]2018DOTA2亚洲邀请赛 4.6 淘汰赛 TNC vs Liquid 第一场
2018/04/10 DOTA
Python学习之用pygal画世界地图实例
2017/12/07 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python3 反射的四种基本方法解析
2019/08/26 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
加拿大时尚床上用品零售商:QE Home | Quilts Etc
2018/01/22 全球购物
New Balance法国官方网站:购买鞋子和服装
2019/09/01 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
《孔子游春》教学反思
2014/02/25 职场文书
主要领导对照检查材料
2014/08/26 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
六年级学生评语大全
2014/12/26 职场文书
大班上学期个人总结
2015/02/13 职场文书
2015年大学团支部工作总结
2015/05/13 职场文书
师范生教育见习总结
2015/06/23 职场文书
2016新党章学习心得体会
2016/01/15 职场文书
导游词之河北邯郸
2019/09/12 职场文书