27 lines
835 B
Python
27 lines
835 B
Python
from django.views import generic
|
|
|
|
from .models import BlogPost
|
|
from journal.models import Author
|
|
|
|
|
|
class BlogPostView(generic.DetailView):
|
|
model = BlogPost
|
|
template_name = 'blog_post.html'
|
|
|
|
def get_context_data(self, **kwargs):
|
|
context = super().get_context_data(**kwargs)
|
|
context['author'] = Author.objects.get(slug='ed-emery')
|
|
|
|
post = context['blogpost']
|
|
other_posts = []
|
|
# Get the posts published directly before and after, if they exist.
|
|
before = BlogPost.objects.filter(pk__lt=post.pk).order_by('pk').last()
|
|
if before:
|
|
other_posts.append(before)
|
|
after = BlogPost.objects.filter(pk__gt=post.pk).order_by('pk').first()
|
|
if after:
|
|
other_posts.append(after)
|
|
context['other_posts'] = other_posts
|
|
|
|
return context
|