Django Generating RSS feed with description
I am trying to generate a full rss feed, however when loading the feed in Mail, it just shows the title, with a read more link at the bottom. I have tried several different options. But none seem to work.
I would lik开发者_JAVA百科e to generate the feed with a combination of several feeds in my modl.
Here is the code i have tried:
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
And in my template which is stored in TEMPLATE_ROOT/feeds/
{{ obj.description|safe }}
<h1>Event Location Details</h1>
{{ obj.location|safe }}
Even if i hard code the description it does not work. The solution below does not work, and testing the feed in Firefox also do not display the content.
Basically i want to create a full feed.
If anyone comes across this, the problem was the link to the template.
i.e description_template = "events_description.html"
I assumed django would handle checking the template directory, however you have to specify where the template is located. i.e
description_template = "events/events_description.html"
I take it that you are trying to subscribe to the feed via email... correct?
To do this, you need to add a couple things.
First, import the "content" extension. This is done in the opening <rss>
element like this:
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
Then, add the full desription to an element like this:
<content:encoded><![CDATA[
<p>The full description goes here bla bla bla.</p>
<p>You can use HTML tags too.</p>
]]></content:encoded>
This is in addition to the regular description tag required by RSS and can be added to each <item>
element.
精彩评论