[파이썬 웹프로그래밍-실전편] 스터디 모임 / 7주차

Bit Writer
Django Girls Seoul | 장고걸스서울
4 min readNov 28, 2016

날씨가 많이 추워졌습니다. 이제는 겨울이라 해도 무색할 정도로요. 모두들 건강 유의하시길 바랍니다.

저는 원래 파이썬 개발자가 아닙니다. 자바를 배웠고, 자바로 일한 개발자였습니다. 그런데 우연히도, 장고걸스 서울(Djangogirls Seoul)을 만나게 되어 파이썬과 장고의 매력을 알게 되었죠. 지금은 파이썬과 장고를 하루 하루 배워가고 있습니다.

아무래도 파이썬, 그리고 장고는 제게 낯설은 분야였습니다. 이 스터디에 참여하게 된 계기도, 장고를 공부하고 싶은데 혼자서 공부하는 것은 쉽지 않을 것 같았기 때문이죠.

스터디 풍경

스터디 모임을 하면서 좋았던 점을 몇 가지 꼽아보자면. 혼자 공부할 때와는 달리 자신이 공부한 것을 다른 사람들과 공유하면서 한 번 더 점검해볼 수 있고, 열의가 넘치는 스터디 멤버들의 열의를 나눠 받을 수 있다는 점이 있습니다. 또한 맛있는 간식도요.

#1. 스터디 시작을 알리는 간식

이번에는 회사 사정, 개인 사정으로 인해 참여 못하신 멤버들이 좀 있었습니다만, 열의는 전혀 줄지 않은 것 같습니다. 책에 몰두하거나 혹은 코딩, 검색에 몰두하며 배움을 추구하는 그 모습이 멋있다고 느껴졌습니다.

#2. 스터디에 몰두하는 멤버들
#3. 스터디한 내용을 즐겁게 나누는 멤버들

매 주 발제를 통해 공부한 것을 나누는 시간을 가집니다. 나눔 정신을 실천하는 시간이죠. 저도 해보고 느꼈는데, 쉽지는 않지만 유익합니다. 혼자서는 그냥 ‘아, 그렇구나’하고 넘어가는 내용들도 다른 스터디 멤버들과 나누다 보면 다른 방식으로 생각하는 법을 알게 되곤 합니다.

7주차 스터디 내용

아마 이전의 포스트를 읽어보셨다면 아시겠지만, 스터디 모임은 그룹으로 나누어져 특정 주제를 가지고 진행합니다. 이번 주 제가 속한 그룹의 주제는 장고의 폼(Form)에 대한 심화내용이었습니다.

장고에서는 폼을 구현하기 위한 Form 클래스가 존재합니다. 장고의 장점 중 제게 가장 크게 와닿는 게 바로 이런 점입니다. 개발자의 개발 편의를 위해, 이미 많은 기능을 만들어서 제공하고 있다는 점.

장고의 Form 클래스를 이용하여 일반 폼을 정의할 수도 있고, 모델 폼을 정의할 수도 있습니다. 특히나 모델 폼 같은 경우, 이미 정의한 모델을 기반으로 폼을 만들기 때문에 따로 폼의 필드를 정의하지 않아도 장고에서 알아서 정의해준다는 것이 매우 편리하게 느껴졌습니다. 또한 모델 폼은 modelform_factory 함수를 사용하여 정의할 수도 있습니다. 모델 폼을 클래스로 정의하지 않더라도 함수를 사용하여 반환 받을 수 있다는 것 역시 개발자의 편의를 위해 신경 쓰고 있다는 것이 느껴지는 부분이었습니다.

멤버들의 목소리

-장고 폼에 대해 스터디했습니다. 좀 늦어서 중간부터 함께 했지만, 우리가 페이지를 구성할 때 중요한 폼을 장고에서 이미 만들어둔 기능을 사용해서 만들 수 있다는 것이 정말 편리한 것 같습니다.

-장고의 폼클래스 부분에 대해 심화 학습을 함께 진행했습니다. 일반 폼과 모델 폼 클래스에 대한 부분들에 대해서도 코드와 기능을 비교해 보면서 공부해 봤습니다.

-오늘은 form 심화에 대해서 공부했습니다 폼을 쉽게 save하고 html코드도 만들 수 있어서 앞으로 작업하는데 유용하게 사용할 수 있을 것 같습니다.

-오늘 장고 Forms 에 대해서 배웠습니다. Save되면 바로 published 되지 않고 draft save로 저장된 다음 관리자가 승인 시, published 하도록 구현하고 싶었는데. required=false 를 하면 된다는 것을 알게 되었습니다. 궁금하신 분은 (http://stackoverflow.com/questions/2809939/how-to-save-page-as-draft)를 참고하시면 좋을 것 같아요.

‘본 스터디는 한빛미디어 와 장고걸스서울이 함께합니다.’
장고걸스 서울 스터디 도서 자세히보러가기 : http://fa.do/uNaV

Special thanks to Hanbit Media

--

--