질문이 있습니다. 오랜만에 django로 개발할 일이 생겨서 개발문서를 다시 살펴봤는데요,

 
최준석

질문이 있습니다. 오랜만에 django로 개발할 일이 생겨서 개발문서를 다시 살펴봤는데요, 예전에 class-based-view와 function-based-view 두개가 모두 사용할 수 있는 애매함 때문에 정이 조금 떨어졌었는데 function-based-view는 현재 개발문서에서 빠졌는지 보이질 않네요. 다들 이렇게 바뀌기 전에는 어떻게 하셨나요?
(예전에 개인 취향이라고 들은 기억이 있긴 하지만 또 궁금하네요)

  • 공대영

    저도 그 2개의 애매함때문에 떨떠름합니다. class based는 뭔가 배우면 배울수록 머리가 아파서 간단한 View 빼고는 싹다 function based로 사용합니다. 좀 적을게 많아지지만 어렵진 않습니다

    Chinseok Lee

    장고에서는 뷰는 callable object 여야합니다. 그래서 함수를 쓰거나, cbv 를 통해 callable object 를 생성해냅니다.

    정형화된 뷰작업은 cbv 를 쓰구요. special case 에 대해서는 fbv 를 쓰는 것이 코드가 심플해지더라구요.

    fbv 방식이 legacy 가 아니라, cbv 라는 방식이 하나 더 제안된 것 뿐입니다. fbv 와 cbv 를 둘 다 씁니다.

    https://docs.djangoproject.com/es/1.9/topics/http/views/

    Chinseok Lee

    덕타이핑 관점에서, 뷰는 callable object 이면 되므로, 이에 다양한 베리에이션이 가능합니다.

    https://ko.m.wikipedia.org/wiki/덕_타이핑

    Tae-lim Oh

    cbv로하면 코드가 굉장히 간결해집니다. 익숙해지시길 권합니다.

    Donghyun Cho

    FBV는 간단한 뷰 작성시 빠르고 쉽게 작성할 수 있듯이 서로 장단점이 있어서 둘 다 장고에 포함되어있어요. 취향이라고 하기엔 그렇고, 무엇이 더 이득인지 생각해서 결정하는게 좋을 듯 합니다. 참고로 전 CBV를 선호합니다.

Advertisements