こんにちは、RSS フィードを取得するための Django テンプレート タグがあります。非常に単純で、feedparser を使用してデコードされた結果をコンテキストに配置します。IE
context[self.var_name] = feedparser.parse(self.url)
特定の URL ' http://feeds.bbci.co.uk/news/england/oxford/rss.xml ' については、feedparser から出力された最初のエントリには次のようなエントリがあります (この投稿を短くするために他のキーを削除しました) .
{'media_thumbnail': [{'url': u'_67862157_67862150.jpg', 'width': u'66', 'height': u'49'}, {'url': u'67862000/jpg/_67862158_67862150.jpg', 'width': u'144', 'height': u'81'}]}
ただし、テンプレート タグのテストでは、要素 'media_thumbnail' が変更されているため、リストは空です。
私のテストケース
class GetRssTagTest(TestCase):
def test_request(self):
t = Template('{% load rss_parser %}}{% get_rss "feed.xml" as rss %}{{rss.entries.0}}')
c = Context({})
print t.render(c)
戻り値
{media_thumbnail': u''}
(再び他のフィールドを削除しました)
要素が削除された理由がわかりません。その辞書には、残されている他のリストがあります。
コンテキスト変数に渡すことができるキー/サイズの制限はありますか?
タグをカスタム化して Python で実行できることはわかっていますが、他のフィードで使用できるようにタグを汎用のままにしておくことをお勧めします。
ありがとう