Публикация каналов с использованием Django - PullRequest
0 голосов
/ 03 июня 2009

Я публикую канал из приложения Django.

Я вложил в django.contrib.syndication.feeds.Feed, все работает нормально, кроме даты, которая не публикуется в ленте.

Вот метод, который я создал в своем классе Feed

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

этот метод никогда не вызывается ....

Ответы [ 3 ]

3 голосов
/ 23 июля 2009

Согласно Ссылка на класс фида в документации Django, поле item_pubdate должно возвращать объект datetime.datetime. Если item.date - это просто DateField, а не DateTimeField, это может быть причиной проблемы. Если это так, вы можете изменить метод для создания даты и времени, а затем вернуть его.

import datetime
def item_pubdate(self, item):
    return datetime.datetime.combine(item.date, datetime.time())
0 голосов
/ 08 июля 2009

Я бился головой об это некоторое время. Кажется, что системе django rss нужен объект «datetime», а не просто дата (поскольку ей нужен часовой пояс, а у объекта date нет времени, не говоря уже о часовом поясе ...)

Возможно, я ошибаюсь, но это то, что я нашел в журналах ошибок.

0 голосов
/ 03 июня 2009

Вот как у меня настроено и работает.

class AllFeed(Feed):
    def item_pubdate(self, item):
        return item.date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...