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获取当前用户的主目录路径方法(推荐)
Jan 12 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Flask实现跨域请求的处理方法
Sep 27 Python
pycharm 解除默认unittest模式的方法
Nov 30 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
Jul 31 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
python实现两个一维列表合并成一个二维列表
Dec 02 Python
python实现遍历文件夹图片并重命名
Mar 23 Python
python 实现 hive中类似 lateral view explode的功能示例
May 18 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
Aug 11 Python
python简单利用字典破解zip文件口令
Sep 07 Python
python四个坐标点对图片区域最小外接矩形进行裁剪
Jun 04 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函数设置HTTP头的示例解析 表头
2013/06/17 PHP
学习php中的正则表达式
2014/08/17 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
浅析jQuery中常用的元素查找方法总结
2013/07/04 Javascript
AngularJS入门教程之迭代器过滤详解
2016/08/18 Javascript
深入探究AngularJs之$scope对象(作用域)
2017/07/20 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
CentOS环境中MySQL修改root密码方法
2018/01/07 Javascript
JS写谷歌浏览器chrome的外挂实例
2018/01/11 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
小程序websocket心跳库(websocket-heartbeat-miniprogram)
2020/02/23 Javascript
js实现浏览器打印功能的示例代码
2020/07/15 Javascript
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
2020/08/06 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
在Django中限制已登录用户的访问的方法
2015/07/23 Python
Python Requests安装与简单运用
2016/04/07 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
python3如何将docx转换成pdf文件
2018/03/23 Python
Python3实现的字典遍历操作详解
2018/04/18 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
伦敦最受欢迎的蛋糕店:Konditor & Cook
2019/11/01 全球购物
JAVA代码查错题
2014/10/10 面试题
Java编程面试题
2016/04/04 面试题
行政监察建议书
2014/05/19 职场文书
死亡诗社观后感
2015/06/05 职场文书
基于Python实现流星雨效果的绘制
2022/03/18 Python
Python读写yaml文件
2022/03/20 Python
Python实战实现爬取天气数据并完成可视化分析详解
2022/06/16 Python