1

我正在使用 Django 1.4 Feed 类为我的数据库条目返回 RSS 提要。我想让用户指定要在 URL 中返回的提要数量,我尝试了一些方法,但由于某种原因它不起作用。这是我到目前为止所拥有的:

网址.py

urlpatterns = patterns('',
    url(r'^latest/feed/(?P<count>[0-9]+)/$',LatestPostsFeed(),name="feed"),
)

提要.py

from django.contrib.syndication.views import Feed
from django.core.urlresolvers import reverse
from blog.models import Post
from django.utils import text, html

class LatestPostsFeed(Feed):
    title="Latest Posts"
    link="feeds"
    description="Latest posts"

    def items(self,count):
        print count
        return Post.objects.order_by('-created')[:count]

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

    def item_description(self,item):
        return text.truncate_html_words(item.content,50)

    def item_link(self,item):
        return item.get_absolute_url()

当我尝试通过 print 获取 count 的值时,它在服务器上返回 None 。我应该在哪里添加我的 count 参数,以便它的值被类识别?

谢谢您的帮助。

4

1 回答 1

2

它看起来像get_object需要你需要的 kwargs,并且应该返回一个描述提要的对象。在您的情况下,您只需要计数:

def get_object(self, request, *args, **kwargs):
    return int(kwargs['count'])

然后你的items方法就会奏效。

于 2013-03-10T09:35:46.793 回答