두숟갈 스터디 - 7

무엇을 공부했나요?

Two scoops of Django 10장 클래스 기반 뷰의 모범적인 이용에 대해 알아보았습니다. 제가 10장의 자료를 요약하였고, 동현님께서 심화자료를 준비하셨습니다.

스터디중 다루었던 이야기들은 아래와 같습니다.

10장 클래스 기반 뷰의 모범적인 이용

클래스 기반 뷰 이용의 가이드라인

믹스인과 클래스 기반 뷰를 이용하는 방법

어떤 작업에 장고의 클래스 기반 뷰가 이용되어야 하는가

이름 목적
View 어디에서든 이용 가능한 기본 뷰
RedirectView 사용자를 다른 URL로 리다이렉트
TemplateView 장고 HTML 템플릿을 보여줄 때
ListView 객체 목록
DetailView 객체를 보여줄 때
FormView 폼 전송
CreateView 객체를 만들 때
UpdateView 객체를 업데이트 할 때
DeleteView 객체를 삭제 할 때
generic date view 시간 순서로 객체를 나열해 보여줄 때

클래스 기반 뷰 사용에 대한 일반적인 팁들

베이스 django.view.generic.View 이용하기

모든 뷰에서 django.views.generic.View만 이용하여 장고 프로젝트를 전부 구성할 수도 있다.

심화학습

class based view 쓰세요. 두번 쓰세요 (목적에 맞게)

django-extra-view

상황에 따라 유용한 CBV를 제공하는 라이브러리인 django-extra-veiws 에 대한 소개.
기본 view와 django-braces 라이브러리에서도 제공하지 않는 복잡한 구성의 경우, django-extra-views를 사용하면 효과적이라는 것을 알게 되었습니다.

MRO 알고리즘에 대한 이해

동현님의 손으로 풀어보는 MRO 알고리즘!
이날 따라 유난히 땀을 많이 흘리신 동현님은 손으로 한땀 한땀 MRO의 알고리즘을 그려가며 설명해 주셨습니다.
MRO에 대한 자료를 찾아보면서 품었던 의문(그래서 MRO가 어떻게 순서를 정하는 건가요?)이 풀리면서 찝찝했던 기분을 날려버릴 수 있었습니다.

어땠나요?

무더운 여름, 다 함께 땀 흘리며 스터디 모임을 진행한 것도 벌써 7회차가 되었습니다. 매주 수요일 저녁에는 스터디에 늦을까 종종걸음으로 퇴근하며 정기적인 모임에 참여한다는 것이 마냥 쉬운 일은 아니라는 것을 느낍니다. 하지만 스터디가 끝나고 집으로 돌아갈 때는 ‘아! 역시 참여하길 잘했어!’ 라는 뿌듯한 마음과 함께 발걸음이 가벼워집니다.

이번 스터디에서도 여러 가지 이야기들을 나누었지만, 책에서 이야기하는 효과적인 제네릭 뷰 사용 방법(django.views.generic.View만으로 프로젝트 구성하기)에 대한 호성님과 남홍님의 의견을 들었던 것이 기억에 남습니다. 책에 적혀있는 것이 무조건 왕도는 아니라는 것을 알지만, 아무래도 경험이 부족하다 보니 새로운 정보에 대해 (추천! 필수! 효과적!이라는 말이 붙으면 더더욱) 비판 없이 받아들이곤 하는 저에게 이러한 의견을 듣는 것은 매우 소중한 시간이었습니다.

함께 공부한다는 것은 매우 느리게 가는 것처럼 보일 수 있지만, 함께 더 멀리 나아가는 방법이라고 생각하며 두 숟갈 스터디의 완주를 기대해봅니다!