一个Django应用程序,使用“feedParser”来获取和分析feed,以便从模板中呈现它
django-feedparser的Python项目详细描述
一个Django应用程序,使用feedparser来获取和解析提要,以便从模板中呈现它。
它不是一个饲料生产者,因为它管理饲料一个接一个。
- requests用于获取源;
- feedparser用于分析源;
- django缓存用于避免每次都再次获取提要;
- 基本的feed渲染器只需解析feed而不做任何修改,但您可以扩展它来实现后期处理格式;
- 获取提要后,可以通过模板显示它。默认模板非常基本,您最终应该覆盖它或创建另一个模板以适合您的提要结构/格式;
- 在cmsplugin_feedparser;
链接
- 下载他的PyPi package;
- 克隆到他的repository;
需要
- six;
- Django>;=1.4;
- requests>;=2.7.0',
- feedparser>;=5.1.3',
安装
首先安装软件包:
pip install django-feedparser
在“设置”中将其添加到已安装的django应用程序中:
INSTALLED_APPS = ( ... 'django_feedparser', ... )
然后导入其设置:
from django_feedparser.settings import *
最后看看关于Available settings你可以重写。
用法
渲染器
实际上有两个基本的渲染器可用:
- 基本XML
只是基本的呈现程序,解析xml提要并返回由
feedparser
给出的结果。不要做任何特殊的格式化。
- 基本JSON
- 类似于basic-xml,但对于json提要,显然不使用
feedparser
,但是 来自python的jsonbuiltin并返回加载的对象。
最后,记住渲染器必须与使用的模板兼容,反之亦然。
视图
有一个MIXIN ^ {TT3}$,可以从视图继承来利用一个进给。
并且有一个基本视图{tt4}$,它继承了从MIXIN ^ {TT5}$来演示它的用法。但是,如果基本视图满足您的需要,那么它是可用的,如果是这样的话,您只需要在您的url中直接使用它,比如django.views.generic.base.TemplateView:
from django.conf.urls import * from .views import FeedView urlpatterns = patterns('', ... url(r'^myfeed/$', FeedView.as_view(feed_url="http://localhost/myfeed.xml"), name="myfeed"), ... )
注意
尽管应用程序包含一个“url.py”,但它主要用于调试,您不应该将其装载到项目url中。
可用设置
- 馈送渲染器默认模板 默认渲染器模板的路径。
- 输入缓存键
馈送缓存密钥模板字符串。
默认值:'feedparser_feed_{id}_{expire}'
- 进纸超时
馈送响应超时(秒)。
默认值:5
- 接受馈送
我们是否接受(True)格式错误的xml提要(False)。
默认值:True
- 取料安全
获取feed是否抛出异常(false)或不抛出异常(true)。
启用安全提取时,将静默捕获错误的http状态、请求错误和超时错误。
默认值:False
- 馈送渲染引擎
可用渲染引擎的python术语,其中键是快捷键 引擎名和值是renderer类的有效python路径。
默认值:
{ 'basic-xml': 'django_feedparser.renderer.FeedBasicRenderer', 'basic-json': 'django_feedparser.renderer.FeedBasicRenderer', }
- 默认馈送渲染引擎
未指定任何人时要使用的默认渲染器引擎名称。
默认值:basic-xml
默认值:'django_feedparser/basic_feed_renderer.html'