LOADING

Follow me

Django 学习笔记(七)
十一月 21, 2013|IT

Django 学习笔记(七)


Django 1.5 关于The syndication feed 框架的翻译,水平有限,随意翻译了下下

Django带来了一个高级的聚合生成框架,它使得创建RSS和Atom feeds变得非常容易。

为创建任何聚合feed,你所要做的就是写一个简短的python类,当然你可以创建任意多的feed.

Django同时提供底层feed产生器的API,如果你想产生外部web的feeds或者在其他底层方法时,可以调用这个API

高级feed生成框架




Feed类提供了一个高级feed生成框架,通过编写

要创建一个 sitemap,你只需要写一个 Sitemap 类然后配置你的URLconf指向它。

编写一个Feed类并在URLConf中指向这个Feed类的实例,来创建feed.

Feed classes

Feed类是一个python类,是表示的一个聚合feed.一个feed可以简单至(例如,一个 站点新闻feed,或者一个显示最新blog文章的feed),

也可以更复杂的(例如,显示指定类别的blog的显示,当然此blog的类别选择是可用的。

Feed classes的父类是django.contrib.syncdation.views.Feed,它们可以使用在你的代码的任意位置。

Feed classes的实例是作为视图被用在URLConf中

下面给出一个Feed的简单例子

from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from policebeat.models import NewsItem

class LatestEntriesFeed(Feed):
    title = "Police beat site news"
    link = "/sitenews/"
    description = "Updates on changes and additions to police beat central."

    def items(self):
        return NewsItem.objects.order_by('-pub_date')[:5]

    def item_title(self, item):
        return item.title

    def item_description(self, item):
        return item.description

    # item_link is only needed if NewsItem has no get_absolute_url method.
    def item_link(self, item):
        return reverse('news-item', args=[item.pk])


它的URLConf如下所示:

from django.conf.urls import patterns
from myproject.feeds import LatestEntriesFeed

urlpatterns = patterns('',
    # ...
    (r'^latest/feed/$', LatestEntriesFeed()),
    # ...
)


注解:

The Feed class的父类是django.contrib.syncdation.views.Feed

title,link以及description 分别对应标准RSS中的title,link以及description参数

items()

下面的翻译接(八)吧,还没翻译出来


no comments
Share

发表评论