私はDjangoアプリケーションからフィードを公開しています。Djangoを使用してフィードを公開する
私はdjango.contrib.syndication.feeds.Feedをサブクラス化して、フィードに公開されない日付を除いてすべて正常に動作します。
ここで私は私のFeedクラスで作成したメソッドは
def item_pubdate(self, item): return item.date
だ、このメソッドが呼び出されることは決してありません....
私はDjangoアプリケーションからフィードを公開しています。Djangoを使用してフィードを公開する
私はdjango.contrib.syndication.feeds.Feedをサブクラス化して、フィードに公開されない日付を除いてすべて正常に動作します。
ここで私は私のFeedクラスで作成したメソッドは
def item_pubdate(self, item): return item.date
だ、このメソッドが呼び出されることは決してありません....
私はこれに対してしばらく頭を叩きました。 django rssシステムでは、日付の代わりに "datetime"オブジェクトが必要なようです(時間帯が必要なため、日付オブジェクトには時間帯はありません...)
私は間違っているかもしれませんが、それは私がエラーログで見つけたものです。
これは私がセットアップされている方法です、それが働いています。
class AllFeed(Feed):
def item_pubdate(self, item):
return item.date
DjangoのドキュメントのFeed Class Referenceによると、item_pubdateフィールドはdatetime.datetimeオブジェクトを返すと想定されています。 item.dateがDateFieldであり、DateTimeFieldではない場合、問題の原因となっている可能性があります。その場合、datetimeを作成してそれを返すようにメソッドを変更することができます。
import datetime
def item_pubdate(self, item):
return datetime.datetime.combine(item.date, datetime.time())
tehコードが同じであると思われる場合、ジャンゴのトランクにバグがある可能性があります。 – lorenzov
im usingthe 1.0.2タグ。 – phillc
そのコードは私にとってもうまく機能します。 –