【发布时间】:2013-03-19 22:12:06
【问题描述】:
这里是 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 at /u'The First Entry In The Feed'
如果我将代码更改为附加到列表,则模板会正确呈现,并且整个结构化列表会以单个字符串的形式输出。
这是我想做的:
{% load my_tag %}
{% for item in exampletag %}
<p> {{ item }} </p>
{% endfor %}
但是这只是默默地失败(显然我没有将可交互对象传递给模板)
有什么想法吗?这甚至是一个很好的方法吗?
提前致谢。
【问题讨论】:
标签: python django django-templates