Django RSS Feed问题

时间:2009-08-19 01:40:50

标签: python django django-rss

我正在开发一个博客应用程序,并尝试制作一个简单的RSS提要系统功能。但是,我遇到了一个奇怪的错误,对我来说没有多大意义。我理解可能会发生什么,但我不明白为什么。我的RSS Feed课程如下:

class RSSFeed(Feed):
    title = settings.BLOG_NAME
    description = "Recent Posts"
    def items(self):
        return Story.objects.all().order_by('-created')[:10]

    def link(self, obj):
        return obj.get_absolute_url()

但是我收到了以下错误(http://dpaste.com/82510/处的完整堆栈跟踪):

AttributeError: 'NoneType' object has no attribute 'startswith'

这让我相信它没有收到任何任何对象。但是,我可以放到shell并抓住那些Story对象,我可以迭代它们返回绝对url而没有任何问题。因此看起来Feed的两个部分都有效,而不是以Feed形式出现。此外,我添加了一些日志记录,并且可以确认在访问供稿链接时项目功能从不输入。我希望我只是忽略了一些简单的东西。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

更改为:

class RSSFeed(Feed):
    title = settings.BLOG_NAME
    link = "/blog/"
    description = "Recent Posts"

    def items(self):
        return Story.objects.all().order_by('-created')[:10]

修正了它。不确定我完全理解它..但是whatev。 :)

答案 1 :(得分:1)

你定义了

def get_absolute_url(self):

在模型中?

另外,很高兴

if not obj:
    raise FeedDoesNotExist

以避免在Feed结果不存在时出错