Coverage for website/views/HomeView.py: 86%
14 statements
« prev ^ index » next coverage.py v7.5.0, created at 2025-09-13 15:29 -0300
« prev ^ index » next coverage.py v7.5.0, created at 2025-09-13 15:29 -0300
1from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
2from django.shortcuts import render
4from website.models.PostModel import Post
7def get_home_page(request):
8 # Get all posts ordered by published date (newest first)
9 post_list = Post.objects.all().order_by("-published_date")
11 # Set up pagination - 6 posts per page
12 paginator = Paginator(post_list, 6)
13 page = request.GET.get("page")
15 try:
16 posts = paginator.page(page)
17 except PageNotAnInteger:
18 # If page is not an integer, deliver first page
19 posts = paginator.page(1)
20 except EmptyPage:
21 # If page is out of range, deliver last page of results
22 posts = paginator.page(paginator.num_pages)
24 return render(request, "home-page/homepage.html", {"posts": posts})