我正在使用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参数,以便它的值被类识别?
感谢您的帮助。
答案 0 :(得分:2)
看起来get_object
接受了你需要的kwargs,并且应该返回一个描述feed的对象。在您的情况下,您只需要计数:
def get_object(self, request, *args, **kwargs):
return int(kwargs['count'])
然后您的items
方法就可以了。