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 template_name = 'archives/links.html' 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() return context class LinkTagListView(PaginatedListView): model = Link template_name = 'archives/links.html' def get_queryset(self): print(self.kwargs['slug']) return Link.objects.filter(tags__slug=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() return context class LinkDetailView(DetailView): model = Link template_name = "details/link.html" slug_field = "id" class LinkDetailViewTXT(LinkDetailView): template_name = "details/entry.txt"