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

1from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator 

2from django.shortcuts import render 

3 

4from website.models.PostModel import Post 

5 

6 

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") 

10 

11 # Set up pagination - 6 posts per page 

12 paginator = Paginator(post_list, 6) 

13 page = request.GET.get("page") 

14 

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) 

23 

24 return render(request, "home-page/homepage.html", {"posts": posts})