当前位置 : 主页 > 编程语言 > python >

Django 学习笔记(七)

来源:互联网 收集:自由互联 发布时间:2022-06-15
Django 1.5 关于The syndication feed 框架的翻译,水平有限,随意翻译了下下 Django带来了一个高级的聚合生成框架,它使得创建RSS和Atom feeds变得非常容易。 为创建任何聚合feed,你所要做的就是


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()

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


上一篇:Django 源码的学习(一)
下一篇:没有了
网友评论