Django noob です。
templatetags (classytags) を使用して、RSS フィード項目を django テンプレートに追加しようとしています。
これが私のコードです:
from django import template
from classytags.core import Tag
import feedparser
register = template.Library()
class ExampleTag(Tag):
name = 'exampletag'
def render_tag(self, context):
raw_feed = "example.com/feed.rss"
feed = feedparser.parse(raw_feed)
entrylist = {}
for entry in feed.entries:
entrylist[entry.title]
return entrylist
register.tag(ExampleTag)
次に、テンプレートで、次のように ExampleTag を呼び出すことができます。
{% load my_tag %}
{% exampletag %}
これにより、/ u'The First Entry In The Feed' で KeyError が発生します
コードをリストに追加するように変更すると、テンプレートはエラーなしでレンダリングされ、構造化されたリスト全体が 1 つの文字列で出力されます。
これは私がやりたいことです:
{% load my_tag %}
{% for item in exampletag %}
<p> {{ item }} </p>
{% endfor %}
ただし、これはサイレントに失敗します (明らかに、インターラブル オブジェクトをテンプレートに渡していません)。
何か案は?これはこれを行う良い方法ですか?
前もって感謝します。