跳转到主要内容

在您的网站上显示XML源的内容。

项目描述

django-external-feed

在您的网站上显示XML源的内容。这允许您使用商业博客服务,同时您仍然可以集成新闻文章到您的网站中。

快速开始

  1. 将“externalfeed”添加到您的INSTALLED_APPS设置中,如下所示

    INSTALLED_APPS = (
        ...
        'externalfeed',
    )
  2. 在您的设置中配置源

    FEED_SOURCES = (
        # (key, source, prefix to strip from the url)
        ('bbc',
         'http://feeds.bbci.co.uk/news/rss.xml',
         'http://www.bbc.co.uk/news'),
    )

    注意:并非所有外部源都允许您以这种方式嵌入其内容。您应该检查他们的服务条款。

    • 键是一个您选择的文本,它将最终出现在您的网站URL中。

    • 源是rss、atom或其他同步源的一个URL。我们使用feedparser来解析这个。

    • 源将有一个针对每个项目的URL。前缀是我们从这个URL中移除的部分。URL的其余部分将出现在使该项目在您的网站上可用的URL中。如果URL不匹配前缀,我们则取域名之后的部分。

  3. 将外部feed URLconf包含在您的项目urls.py中,如下所示,或可选地创建自己的

    url(r'^externalnews/', include('externalfeed.urls')),

根据上述设置,假设bbc rss源有一个如下url的项目

http://www.bbc.co.uk/news/uk-england-cumbria-23341015

该项目将在您的网站上显示在以下位置

<your-domain>/externalnews/bbc/uk-england-cumbria-23341015

当该项目不再在rss源中时,该项目将不再在您的网站上显示。

模板标签

URL配置将使一些模板视图可用,但您也可以自己实现。在这种情况下,模板标签将很有用。为了使模板标签可用,请将此行添加到您的模板中

{% load feeder %}

这些模板标签现在可用

  • single_feed:显示单个源

  • feeds:显示所有源。内部,它会遍历源,并为每个源使用single_feed标签,传递其自己的参数给该标签。

  • feed_entry:显示单个条目

  • feed_entry_title:显示单个条目的标题

feedssingle_feed接受以下可选参数:format_string(默认:空字符串,选项:full和/或list)和limit(默认:0,表示无限制)。single_feed需要将键作为第一个参数。

显示所有源,每个条目只显示标题作为标题

{% feeds %}

显示所有源,每个条目还显示内容

{% feeds "full" %}

显示所有源,每个源以简单列表形式显示条目

{% feeds "list" %}

接受指定full list,但list优先,full将被忽略。请注意,目前代码仅检查字符串fulllist的存在,而不检查单词是否由空格分隔。一个愚蠢的字符串如no fullist ignored将匹配fulllist而不会抱怨。

显示所有源,使用默认格式,但每个源限制为2个条目

{% feeds "" 2 %}

仅显示bbc源

{% single_feed "bbc" %}

仅以最近4个条目的简单列表形式显示bbc源

{% single_feed "bbc" "list" 4 %}

feed_entry和feed_entry_title标签都要求提供键和路径

{% feed_entry "bbc" "uk-england-cumbria-23341015" %}
{% feed_entry_title "bbc" "uk-england-cumbria-23341015" %}

兼容性

已在Django 1.4.3上测试。预计在Django 1.3或更高版本上也能正常工作。

变更日志

0.1 (2013-07-18)

  • 初始版本。[maurits]

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

django-external-feed-0.1.zip (27.3 kB 查看散列)

上传时间

由以下赞助

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面