在您自己的站点上显示来自XML源的内容。

django-external-feed的Python项目详细描述


django-external-feed

在您自己的站点上显示来自XML源的内容。这允许您使用 一个商业博客服务,但是你仍然可以整合新闻 网站内的文章。

Quick start

  1. 将“externalfeed”添加到已安装的应用程序设置中,如下所示:

    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'),
    )
    

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

    • 关键是你选择的一个文本,它将出现在 你的网站。
    • 源是rss、atom或其他联合提要的url。 我们用feedparser来解析这个。
    • 订阅源将为每个项目提供一个url。前缀是零件 我们从这个网址上删除。url的其余部分将结束 在使此项目在您的网站上可用的URL中。如果 URL与前缀不匹配,我们在 域名。
  3. 在项目url.py中包含externalfeed urlconf,如下所示, 或者可以自己滚动:

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

使用上述设置,假设bbc rss feed有一个带有以下url的项目:

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

此项目将在您的网站上显示:

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

当项目不再在rss源中时,该项目将不再 在你的网站上可见。

Template tags

url配置将使一些带有模板的视图可用,但是 也可以自己卷。在这种情况下,模板标记将是 有用。要使模板标记可用,请在 模板:

{% load feeder %}

这些模板标记随后可用:

  • single_feed:显示单个源
  • feeds:显示所有源。在内部,这将遍历提要和 为它们中的每一个使用单个的feed标记,传递自己的参数 给那个标签。
  • feed_entry:显示单个条目
  • feed_entry_title:显示单个条目的标题

feedssingle_feed接受以下可选参数: 格式化字符串(默认值:空字符串,选项: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标题标记都需要密钥和路径:

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

Compatibility

用django 1.4.3测试。预计在Django 1.3上运行良好 或者更高。

Changelog

0.1(2013-07-18)

  • 初次发布。 [毛里塔尼亚]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在jframe中模糊的背景上创建一个透明的矩形   java和super之间有区别。getX()和简单的x?   使用ant的java删除eclipse项目   java找不到。txt文件?   多线程Java wait()notify()   带按钮的java透明控件   java Android Studio 3无法构建我的项目   性能最佳(最快且节省内存)的Java收集/数据结构,可同时插入和删除项   spring+hibernate集成中的java ClassNotFoundException   java如何在Android上建立异步URL连接?   java当我选择contacts选项卡时,选项卡栏消失了   java根据数据库中的日期获取结果,不考虑时间   java如何访问WebChromeClient中的方法?   java如何在安卓中使用两行列表项?   spring Swagger Java日期格式验证引发异常