Django 菜鸟在这里。
我正在尝试使用 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 %}
这会导致 KeyError 在 /u'The First Entry In The Feed'
如果我将代码更改为附加到列表,则模板将无错误地呈现,并且整个结构化列表以单个字符串输出。
这就是我想做的:
{% load my_tag %}
{% for item in exampletag %}
<p> {{ item }} </p>
{% endfor %}
然而,这只是默默地失败(显然我没有将可交互对象传递给模板)
有任何想法吗?这甚至是这样做的好方法吗?
提前致谢。