使用Django发布供稿

时间:2009-06-03 14:12:40

标签: python django rss

我正在从Django应用程序发布一个feed。

我将django.contrib.syndication.feeds.Feed子类化,一切正常,但未在Feed上发布的日期除外。

这是我在Feed类上创建的方法

def item_pubdate(self, item):
    return item.date

此方法永远不会被调用....

3 个答案:

答案 0 :(得分:3)

根据Django文档中的Feed Class Reference,item_pubdate字段应该返回datetime.datetime对象。如果item.date只是一个DateField而不是DateTimeField,那可能会导致问题。如果是这种情况,您可以更改方法以生成日期时间,然后返回该日期时间。

import datetime
def item_pubdate(self, item):
    return datetime.datetime.combine(item.date, datetime.time())

答案 1 :(得分:0)

这就是我的设置方式,它正在发挥作用。

class AllFeed(Feed):
    def item_pubdate(self, item):
        return item.date

答案 2 :(得分:0)

我一直在撞击这个人。似乎django rss系统需要一个“datetime”对象而不仅仅是日期(因为它需要一个时区,而日期对象没有时间,更不用说时区......)

我可能错了,但这是我通过错误日志找到的东西。