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的dict字典结构操作方法学习笔记
May 07 Python
python实现FTP服务器服务的方法
Apr 11 Python
Python 新建文件夹与复制文件夹内所有内容的方法
Oct 27 Python
python的schedule定时任务模块二次封装方法
Feb 19 Python
解决Python使用列表副本的问题
Dec 19 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
Python简单实现词云图代码及步骤解析
Jun 04 Python
基于python实现判断字符串是否数字算法
Jul 10 Python
python实现AHP算法的方法实例(层次分析法)
Sep 09 Python
python PIL模块的基本使用
Sep 29 Python
Django搭建项目实战与避坑细节详解
Dec 06 Python
pd.drop_duplicates删除重复行的方法实现
Jun 16 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中echo()和print()、require()和include()等易混淆函数的区别
2012/02/22 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
javascript+dom树型菜单类,希望朋友们一起进步
2007/05/03 Javascript
关于javascript中的parseInt使用技巧
2009/09/03 Javascript
jquery入门—数据删除与隔行变色以及图片预览
2013/01/07 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
浅析javascript 定时器
2014/12/23 Javascript
request请求获取参数的实现方法(post和get两种方式)
2016/09/27 Javascript
JS回调函数简单用法示例
2017/02/09 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
朴素贝叶斯算法的python实现方法
2014/11/18 Python
以911新闻为例演示Python实现数据可视化的教程
2015/04/23 Python
Python函数的周期性执行实现方法
2016/08/13 Python
python操作mysql数据库
2017/03/05 Python
pip命令无法使用的解决方法
2018/06/12 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
python生成随机红包的实例写法
2019/09/02 Python
利用Python计算KS的实例详解
2020/03/03 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
印度尼西亚最好的小工具在线商店:Erafone.com
2019/03/26 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
酒店管理专业学生求职信
2013/09/27 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
大学生毕业鉴定
2014/01/31 职场文书
中学教师师德承诺书
2014/05/23 职场文书
离婚协议书格式
2014/11/21 职场文书
2014年公路养护工作总结
2014/12/04 职场文书
论文答谢词
2015/01/20 职场文书
新兵入伍决心书
2015/09/22 职场文书
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android