diff options
-rw-r--r-- | aggregator/feeds.py | 20 | ||||
-rw-r--r-- | urls.py | 4 |
2 files changed, 23 insertions, 1 deletions
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 @@ -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<page>\d+)/)?$', 'aggregator.views.posts'), - url(r'^post/((?P<pk>\d+)/)?$', DetailView.as_view(model=Post))) + url(r'^post/((?P<pk>\d+)/)?$', DetailView.as_view(model=Post)), + url(r'^feed/posts/$', LatestPostsFeed())) urlpatterns += staticfiles_urlpatterns() |