pyhub-kr / qna

0 stars 0 forks source link

(카톡방 질문) 이런 계층구조에서 어떤 View 설계가 유연하면서 직관적인걸까요..? #1

Open allieus opened 11 months ago

allieus commented 11 months ago

1안. BoardDetail(DetailView) context추가 >>> artcle_list

2안 ArticleList(ListView) context 특정 board 추가

사실 article의 model 단에서 board라는 필드를 넣으면 되지만, 굳이 모델을 분리시켜서 정규화를 준수하는 설계로 연습중이라 양해 부탁드립니다 ㅠ

allieus commented 11 months ago

CBV와 데이터베이스 정규화는 다른 영역의 개념입니다. CBV는 View 요청 처리의 반복되는 패턴을 클래스로 구현한 것 뿐입니다.

각 CBV 중에 그 기능을 많이 활용하는 쪽을 중심으로 View를 구성하시는 방향이 어떨까요. 페이징 처리가 필요하시다면 ListView 중심으로 구성하시는 것이 나으실 수 있습니다. DetailView는 id/slug 에 맞춰 모델 인스턴스를 조회하고 템플릿 응답을 하는 정도의 기능만 제공해줍니다.

혹은 DetailView를 중심으로 사용하더라도, 단순 HTML 응답에 그치는 것이 아니라 웹페이지에서 JavaScript로 Ajax로 요청을 어떻게 처리하느냐에 따라, JavaScript로 ArticleListView로 요청을 보내시는 설계가 될 수도 있습니다.