from django.template.defaultfilters import striptags from django.template.defaultfilters import truncatewords from django.views import generic import social_metadata.views from blog import models class HomeView(generic.ListView): def get_queryset(self): return models.Post.objects.all().order_by('-posted_date') home_view = HomeView.as_view() class PostView(social_metadata.views.SocialDataMixin, generic.DetailView): model = models.Post def get_social_title(self): return self.object.title def get_social_images(self): yield self.object.cover_image.url def get_social_description(self): return truncatewords(striptags(self.object.text), 50) post_view = PostView.as_view()