메인페이지 - 인기순, 최신순 레시피 20개, 당장은 페이지네이션은 필요없음
검색페이지 - 기본 검색어 검색 결과 반환. 인기순, 최신순 레시피 옵션, 페이지네이션 필요
from django.core.paginator import Paginator
page = request.GET.get("page")
paginator = Paginator(데이터셋, 페이지당 데이터 개수)
page_obj = paginator.page(페이지번호)
# 예시 url www.test.com?page=2
recipes = ArticleRecipe.objects.all() # 페이지네이션 할 데이터셋
all_recipes_paginator = Paginator(recipes, 20) # 한 페이지당 데이터 20개 반환
page_obj = all_recipes_paginator.page(page) # page = 2
# Response = 20개씩 나눈 데이터셋중 2번째 반환
정렬 조건을 쿼리로 option 파라미터 받기
option = request.GET.get("option")
# 예시
if option == "latest": #최신순
recipes = recipes.order_by('-created_at')
# 예시
if option == "bookmark": #인기순(북마크 많은 순)
recipes = recipes.annotate(bookmark_count=Count('recipe_bookmark')).order_by('-bookmark_count')