diff --git a/config/urls.py b/config/urls.py index 0015a03..9c64154 100644 --- a/config/urls.py +++ b/config/urls.py @@ -9,6 +9,7 @@ from django.views.generic import TemplateView from django.views import defaults as default_views from mhackspace.contact.views import contact from mhackspace.members.views import MemberListView +from mhackspace.base.feeds import LatestEntriesFeed urlpatterns = [ url(r'^$', TemplateView.as_view(template_name='pages/home.html'), name='home'), @@ -29,6 +30,7 @@ urlpatterns = [ url(r'^accounts/', include('allauth.urls')), # Your stuff: custom urls includes go here + url(r'^latest/$', LatestEntriesFeed()), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/mhackspace/base/feeds.py b/mhackspace/base/feeds.py new file mode 100644 index 0000000..148e47f --- /dev/null +++ b/mhackspace/base/feeds.py @@ -0,0 +1,20 @@ +from django.contrib.syndication.views import Feed +from django.urls import reverse +from mhackspace.feeds.models import Article + +class LatestEntriesFeed(Feed): + title = "Maidstone hackspace site news" + link = "/latest/" + description = "Latest creations from our users." + + def items(self): + return Article.objects.all()[:5] + + def item_title(self, item): + return item.title + + def item_description(self, item): + return item.description + + def item_link(self, item): + return item.url diff --git a/mhackspace/base/management/commands/generate_test_data.py b/mhackspace/base/management/commands/generate_test_data.py index 9bb4471..587abd6 100644 --- a/mhackspace/base/management/commands/generate_test_data.py +++ b/mhackspace/base/management/commands/generate_test_data.py @@ -1,6 +1,6 @@ from autofixture import AutoFixture from django.core.management.base import BaseCommand -from mhackspace.feeds.models import Article +from mhackspace.feeds.models import Article, Feed from mhackspace.users.models import User @@ -11,7 +11,10 @@ class Command(BaseCommand): users = AutoFixture(User) users.create(10) - feeds = AutoFixture(User) + feed = AutoFixture(Feed) + feed.create(10) + + feeds = AutoFixture(Article) feeds.create(10) self.stdout.write( diff --git a/mhackspace/templates/feeds/list.html b/mhackspace/templates/feeds/list.html index 36297a4..30f498f 100644 --- a/mhackspace/templates/feeds/list.html +++ b/mhackspace/templates/feeds/list.html @@ -10,7 +10,7 @@
{{ article.feed.author }}
-{{ article.description|striptags }}
+{{ article.description|striptags|truncatewords:30 }}
View Original