Django生成带有描述的RSS提要

时间:2010-04-22 12:35:32

标签: django rss django-rss

我正在尝试生成一个完整的RSS源,但是当在Mail中加载Feed时,它只显示标题,并在底部显示更多链接。我尝试了几种不同的选择。但似乎都没有效果。

我想在我的modl中使用多个Feed的组合生成Feed。

这是我尝试过的代码:

class LatestEvents(Feed):
    description_template = "events_description.html"

    def title(self):
        return "%s Events" % SITE.name

    def link(self):
        return '/events/'

    def items(self):
        events = list(Event.objects.all().order_by('-published_date')[:5])
        return events

    author_name = 'Latest Events'

    def item_pubdate(self, item):
        return item.published_date

在我的模板中存储在TEMPLATE_ROOT / feeds /

{{ obj.description|safe }}
<h1>Event Location Details</h1>
{{ obj.location|safe }}

即使我对描述进行了硬编码,它也不起作用。下面的解决方案不起作用,在Firefox中测试Feed也不显示内容。

基本上我想创建一个完整的Feed。

2 个答案:

答案 0 :(得分:2)

如果有人遇到此问题,则问题是指向模板的链接。

即 description_template =“events_description.html”

我假设django会处理检查模板目录,但是你必须指定模板的位置。 即

description_template =“events / events_description.html”

答案 1 :(得分:0)

我认为您正试图通过电子邮件订阅Feed ...正确吗?

要做到这一点,你需要添加几件事。

首先,导入“内容”扩展名。这是在开头<rss>元素中完成的,如下所示:

<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">

然后,将完整的描述添加到这样的元素:

<content:encoded><![CDATA[
  <p>The full description goes here bla bla bla.</p> 
  <p>You can use HTML tags too.</p>
]]></content:encoded>

这对于RSS所需的常规描述标记 ,并且可以添加到每个<item>元素中。