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()
下面的翻譯接(八)吧,還沒翻譯出來