Django添加feeds功能的示例

 更新时间:2018年08月07日 09:11:30   作者:緣來  
这篇文章主要介绍了Django添加feeds功能的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

概念: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爬取csnd文章并转为PDF文件

    Python爬取csnd文章并转为PDF文件

    这篇文章主要介绍了Python爬取csnd文章并转为PDF文件,通过开发者工具进行抓包分析 分析数据从哪里来的,然后发送请求 对于文章列表页面发送请求,获取数据 获取网页源代码,解析数据文章的url及文章标题,发送请求 对于文章详情页url地址发送请求,需要的朋友可以参考一下
    2022-01-01
  • Python使用sorted对字典的key或value排序

    Python使用sorted对字典的key或value排序

    这篇文章主要介绍了Python使用sorted对字典的key或value排序,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 使用Python webdriver图书馆抢座自动预约的正确方法

    使用Python webdriver图书馆抢座自动预约的正确方法

    这篇文章主要介绍了使用Python webdriver图书馆抢座自动预约的正确方法,本文通过图文实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • 关于Series的index的方法和属性使用说明

    关于Series的index的方法和属性使用说明

    这篇文章主要介绍了关于Series的index的方法和属性使用说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • pygame实现弹球游戏流程

    pygame实现弹球游戏流程

    这篇文章主要介绍了pygame实现弹球游戏流程,弹球游戏(Pinball Pro)是安卓手机上排名第一的弹球游戏,真实再现了一直以来最经典的弹珠台游戏的玩法
    2023-01-01
  • python 使用OpenCV进行曝光融合

    python 使用OpenCV进行曝光融合

    这篇文章主要介绍了python 使用OpenCV进行曝光融合,使用OpenCV的Exposure Fusion,曝光融合是一种将使用不同曝光设置拍摄的图像合成为一张看起来像色调映射的高动态范围(HDR)图像的图像的方,下文更多详细内容介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Python爬虫中的并发编程详解

    Python爬虫中的并发编程详解

    Python爬虫中的并发编程是一种优化爬取速度、解决阻塞问题、优化资源利用的方式。常用的并发编程模块包括多线程、多进程、协程等,通过并发处理多个任务,可以提高爬取效率,节省爬虫资源利用成本。同时,还需注意线程安全、共享资源问题等并发编程中的常见陷阱
    2023-05-05
  • Python脚本修改阿里云的访问控制列表的方法

    Python脚本修改阿里云的访问控制列表的方法

    这篇文章主要介绍了Python脚本修改阿里云的访问控制列表的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Python四大金刚之集合详解

    Python四大金刚之集合详解

    这篇文章主要介绍了Python的集合,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-10-10
  • Python标准库:内置函数max(iterable, *[, key, default])说明

    Python标准库:内置函数max(iterable, *[, key, default])说明

    这篇文章主要介绍了Python标准库:内置函数max(iterable, *[, key, default])说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04

最新评论