from django.views.generic.detail import DetailView from utils.views import PaginatedListView from .models import Link from taggit.models import Tag class LinkListView(PaginatedListView): model = Link def get_context_data(self, **kwargs): # Call the base implementation first to get a context context = super(LinkListView, self).get_context_data(**kwargs) context['tags'] = Link.tags.all() context['breadcrumbs'] = ('Links',) return context class LinkTagListView(PaginatedListView): model = Link def get_queryset(self): return Link.objects.filter(tags__name__in=[self.kwargs['slug']]) def get_context_data(self, **kwargs): # Call the base implementation first to get a context context = super(LinkTagListView, self).get_context_data(**kwargs) context['tag'] = Tag.objects.get(slug__exact=self.kwargs['slug']) context['tags'] = Link.tags.all() context['breadcrumbs'] = ('Links',) return context class LinkDetailView(DetailView): model = Link slug_field = "id"