From 2eb133ff56911eec60997e882fae63e961a291f3 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Mon, 12 Mar 2012 22:50:33 +0100 Subject: Add RSS feed --- aggregator/feeds.py | 20 ++++++++++++++++++++ urls.py | 4 +++- 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 aggregator/feeds.py diff --git a/aggregator/feeds.py b/aggregator/feeds.py new file mode 100644 index 0000000..f5fb8b7 --- /dev/null +++ b/aggregator/feeds.py @@ -0,0 +1,20 @@ +from django.contrib.syndication.views import Feed + +from .models import Post + +class LatestPostsFeed(Feed): + title = "ryuslash's RSS feed" + link = "/" + description = "Updates by ryuslash" + + def items(self): + return Post.objects.all()[:20] + + def item_title(self, item): + return item.title + + def item_description(self, item): + return item.body + + def item_link(self, item): + return "/post/%d/" % item.pk diff --git a/urls.py b/urls.py index acb1cae..c42fbb6 100644 --- a/urls.py +++ b/urls.py @@ -3,9 +3,11 @@ from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.views.generic import DetailView from aggregator.models import Post +from aggregator.feeds import LatestPostsFeed urlpatterns = patterns('', url(r'^((?P\d+)/)?$', 'aggregator.views.posts'), - url(r'^post/((?P\d+)/)?$', DetailView.as_view(model=Post))) + url(r'^post/((?P\d+)/)?$', DetailView.as_view(model=Post)), + url(r'^feed/posts/$', LatestPostsFeed())) urlpatterns += staticfiles_urlpatterns() -- cgit v1.2.3-54-g00ecf