Python Django RSS源问题

Python Django RSS源问题,python,django,django-rss,Python,Django,Django Rss,我正在开发一个博客应用程序,并试图制作一个简单的RSS提要系统功能。然而,我遇到了一个奇怪的错误,这对我来说没有多大意义。我理解可能发生的事情,但我不明白为什么。我的RSS提要类如下: class RSSFeed(Feed): title = settings.BLOG_NAME description = "Recent Posts" def items(self): return Story.objects.all().order_by('-creat

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

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()
但是,我收到以下错误(完整堆栈跟踪位于):

这让我相信它没有接收任何物体。但是,我可以放到一个shell中,抓取那些故事对象,然后遍历它们,返回绝对url,而不会出现任何问题。所以,看起来Feed的两个部分都起作用了,只是当它处于Feed形式时就不起作用了。此外,我添加了一些日志记录,可以确认在访问feed链接时从未输入items函数。我希望我只是忽略了一些简单的事情。提前感谢您的帮助。

更改为:

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

    def items(self):
        return Story.objects.all().order_by('-created')[:10]
修好了。我不确定我是否完全理解。。但是什么呢

你定义了吗

def get_absolute_url(self):
在模型中

还有,很高兴见到你

if not obj:
    raise FeedDoesNotExist

为了避免在feed结果不存在时出错

可能它希望link不接受除self以外的参数,但您为此提供了obj-tooThanks。恼人的是,如果你不提供link属性,它会把自己弄糟。如果需要,请告诉我。
if not obj:
    raise FeedDoesNotExist