[중급편] 장고 Form/ModelForm 제대로 알고 쓰기 (완료)

본 코스는 구독 VOD로 제공됩니다. (구독 확인을 위해 회원가입/로그인이 필요합니다. 구독정책은 구독정책 페이지에서 확인하실 수 있습니다.)

장고의 생산성을 극대화시켜주는 1등 공신은 Django Form에 있다고 생각합니다. 혹시 본인이 Form을 써본 적이 없다고 하시나요? admin페이지를 써보셨다면 당신은 이미 Form을 써보셨습니다. admin페이지 내에서의 입력폼Django Form을 통해서 생성이 된 것입니다.

Django Form을 잘 알고 사용하신다면, 모델 설계만 잘 하시면, 필요한 작업의 50%는 했다고 해도 과언이 아닙니다.

본 코스를 통해 장고 매직을 경험해보도록 해요. :D

웹브라우저는 Form 태그를 통해 사용자로부터 입력값을 받아 사용자가 submit 요청을 할 때, 이를 서버로 전송합니다. 웹브라우저 기본 기능으로 간단한 메세지 부터 파일전송까지 모두 전송할 수 있습니다.

HTML Form의 주요 구성 요소에 대해서 살펴보겠습니다.

29:27 (1회 시청)

View는 FBV/CBV 종류에 상관없이 모두, View 호출 시에는 HttpRequest 객체를 인자로 받으며, View 함수 종료 시에는 반드시 HttpResponse 객체를 반환해야 합니다. HttpRequest/HttpResponse를 깊게 이해하는 것은 보다 효율적인 요청처리를 위해 반드시 필요합니다.

40:09 (1회 시청)

장고의 Form의 기본 메커니즘과 활용하는 다양한 방법에 대해서 살펴보겠습니다. Form과 함께 여러분의 생산성은 배가 됩니다.

44:00 (1회 시청)

Form을 위한 장고의 기본 보안기능으로서 “사이트간 요청 위조 공격” 을 어느 정도 막아주는 기능이 있습니다. 이 기능에 대해 자세히 살펴보겠습니다.

16:27 (1회 시청)

Model 내역대로 Form을 쓰고자 하실 때에는 ModelForm을 사용하시는 것이 보다 간결합니다. Form을 사용하지만 거의 모든 코드는 Model 코드를 활용하기에, 주요 코드는 Model을 통해 관리하실 수 있습니다.

48:29 (1회 시청)

Form의 주요 기능으로서, 사용자로부터의 입력값을 검증하는 기능이 있습니다. 우리가 할 일은 입력값을 검증할 함수만 만들면 됩니다. 로직을 호출하고 유저에게 노출하는 부분은 장고가 알아서 처리해줍니다. Form을 누리세요~

32:21 (1회 시청)

위젯은 필드별 UI요소입니다. 각 Form Field에는 디폴트 위젯이 지정되어있고, 커스텀 지정도 가능합니다.

위젯 변경을 통해 사용자 편의성을 극대화시켜보세요. :)

22:26 (1회 시청)

Form 객체는 웹브라우저 유저 노출을 위해 HTML 포맷으로 표현되어야합니다. 이를 Render라 합니다. 그런데 장고의 기본 Renderer는 조금 어글리합니다. 이를 커스텀하는 방법에 대해서 살펴보겠습니다.

39:59 (1회 시청)

매 Form 요청을 처리하고나서 유저에게 피드백을 주는 방법 중에 하나로 Messages Framework가 있습니다. Messages Framework을 활용하시게 되면, 우리가 할 일은 메세지만 지정하고 활용하기만 하면 됩니다. 나머지 처리는 장고가 처리해줍니다. “로그인 성공”, “삭제 완료” 등의 메세지를 유저에게 손쉽게 노출해보세요.

30:18 (1회 시청)

지금까지 FBV (함수 기반 뷰) 를 통한 Form처리에 대해서 살펴봤는 데요. CBV (클래스 기반 뷰)를 통해 처리하는 다양한 방법에 대해서 살펴보겠습니다.

39:43 (2회 시청)

장고에서 API를 만들 때 django-rest-framework (이하 DRF) 을 많이를 쓰시는 데요. DRF의 SerializerForm의 디자인을 그대로 차용했음을 알고 계시나요? FormSerializer와의 비교를 통해 Form에 대한 이해도를 더욱 높여보겠습니다.

37:01 (1회 시청)

이메일을 등록하시면 쓰신 댓글에 대한 답글이 등록되면 이메일로 알려드립니다. 이메일은 스팸함을 꼭 확인해주세요.