+ def entry_view(self, request, slug, year=None, month=None, day=None, extra_context=None):
+ entries = self.get_entry_queryset()
+ if year:
+ entries = entries.filter(date__year=year)
+ if month:
+ entries = entries.filter(date__month=month)
+ if day:
+ entries = entries.filter(date__day=day)
+ try:
+ entry = entries.get(slug=slug)
+ except:
+ raise Http404
+ context = self.get_context()
+ context.update(extra_context or {})
+ context.update({'entry': entry})
+ return self.entry_page.render_to_response(request, extra_context=context)
+
+ def tag_archive_view(self, request, extra_context=None):
+ if not self.tag_archive_page:
+ raise Http404
+ context = self.get_context()
+ context.update(extra_context or {})
+ context.update({
+ 'tags': self.get_tag_queryset()
+ })
+ return self.tag_archive_page.render_to_response(request, extra_context=context)
+