Django Feed设置要在URL参数中返回的项目数

时间:2013-03-10 09:12:39

标签: django feed

我正在使用Django 1.4 Feed类来返回我的数据库条目的RSS提要。我想让用户指定要在URL中返回的Feed数量,我尝试了一些但由于某种原因它无法正常工作。以下是我到目前为止的情况:

urls.py

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

feeds.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参数,以便它的值被类识别?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

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

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

然后您的items方法就可以了。