728x90
이번 프로젝트의 메인 기능! 카테고리!
카테고리가 만들어지면서 카테고리를 분류해주는데 그 분류 기능에 디테일한 기능을 리뷰하려고한다.
디테일한 기능으로는 카테고리안에 몇개에 피드가 있는지 보여주는 기능이다!
이걸 기능이라고 표현해도 좋을지는 모르겠지만! 그래도 적어보겠다.
참고로 알고리즘 배운걸 여기서 쓴다.
카테고리별로 게시글 갯수 보여주기
분류 전체 보기 (8) # 게시글 수 : 8개
person (3) # 게시글 : 3개
horse (2) # 게시글 : 2개
giraffe (1) # 게시글 : 1개
chair (1) # 게시글 : 1개
car (1) # 게시글 : 1개
여기서 게시글 수를 표현 하려면 각 카테고리별로 게시글수량을 보여주는 코드를 작성해야한다.
* 참고로 여기서 더어려운점은 나는 저카테고리 분류를 base.html 로 만들어서 따로 보내주는 값이 없고 base.html을 보여주는 view 함수 마다 추가해줘야한다.
feed_cate = Feed.objects.all().order_by('-category')
# feed_cate 변수 안에 Feed 모델을 가져와서 넣어준다.
feed_category_all = feed_cate.values_list('category', flat=True)
# values_list를 이용하여 'category' 필드 값을 전부 리스트 형태로 담아준다
feed_category = feed_cate.values_list('category', flat=True).distinct()
# values_list를 이용하여 'category' 필드 값을 전부 리스트 형태로 담아준다 / distinct() 를 이용하여 중복값을 제거해준다.
feed_categorys = []
for cate in feed_category: # 중복값 없는 'category' 리스트
cate_count = 0
for i in feed_category_all: # 전체 'category' 리스트
if cate == i:
cate_count += 1
feed_categorys.append({
'category' : cate,
'cate_count' : cate_count
})
이렇게 카테고리별로 게시글 수량을 알아보는 코드를 작성해보았다.
막상 코드를 짤때는 머리가 아팠지만 짜놓고보니깐 술술 읽히는게 기분이 좋다.
728x90
반응형
'Sparta Coding Club > Today I Learned [TIL]' 카테고리의 다른 글
[TIL] #DAY - 037 - onclick? = location.href & location.replace! (내일배움캠프AI 3기) (0) | 2022.10.27 |
---|---|
[TIL] #DAY - 036 - Serializer란? (내일배움캠프AI 3기) (0) | 2022.10.26 |
[TIL] #DAY - 034 - 프로젝트 구현 기능! (내일배움캠프AI 3기) (0) | 2022.10.21 |
[TIL] #DAY - 033 - POST 메서드 사용 후 리다이렉트! (내일배움캠프AI 3기) (0) | 2022.10.21 |