[파이썬으로 시작하는 웹 프로그래밍 CAMP/주간 리뷰] 소프트웨어 QA, 웹 프로그래밍에 도전하다 : 4주차 “url.py, post_list.html, view.py까지…에러를 거치면서 코드를 작성하다” by 1기 수강생 하헌우님

소프트웨어 QA시자, [파이썬으로 시작하는 웹 프로그래밍 CAMP] 1기 수강생이신 하헌우 님의 4주차 리뷰를 소개합니다.

4주차 수업에서는 url.py, post_list.html, view.py까지…수많은 에러를 거치면서도 집중적으로 코드를 작성하셨다고 합니다. 구체적으로 어떤 결과물이 나왔는지, 직접 코드를 확인해 보세요!

[파이썬으로 시작하는 웹 프로그래밍 CAMP] 자세히 보기 >>>


DAY 7 : 3/2(수) “블로그 서버 기능 구현”

웹의 개념을 설명한 내용을 토대로, 제가 웹 서비스를 구축하려면 Model, View, URL, Template이 필요합니다. 지난 시간에 Model에 해당하는 models.py를 작성했으니, 이번 시간에는 나머지 항목들을 작성했습니다.

먼저 url.py를 잓성했습니다. url.py은 사용자가 입력하는 URL를 정하고, 여기에 해당하는 view를 연결시켜주는 역할을 합니다.

기본적으로 사용할 URL 객체를 리스트에 담아 ‘urlpatterns’라는 변수에 할당합니다. 리스트 안에 들어갈 객체는 url() 함수를 이용하는데, 이는 Django에서 제공하는 함수입니다. 요청받을 URL을 문자열이나 정규표현식 문자열로 지정하고, 요청받은 URL에 응답할 출력물을 연결할 뷰 함수가 필수로 들어갑니다.

url을 만든 후에는 url에서 지정한 list_posts 라는 뷰 함수를 만들었습니다. (사실 큰 순서의 차이는 없겠지만, 뷰 함수를 먼저 만들고 url을 만들면 편하긴 할 것 같습니다. 물론 확실한 기획서가 나오지 않은 상태라면 말입니다.)

model의 Post에 있는 모든 objects를 가져와서, id 역순으로 정렬하고 이를 post_list.html 템플릿에 응답해주는 형식입니다.

다음으로는 위에서 지정한 post_list.html (템플릿)을 작성했습니다.

‘Roy blog’라는 타이틀을 가진 html 파일에 for 함수를 이용하여 posts 리스트에 있는 post를 순서대로 꺼내와서 글 제목, 글 내용 순으로 출력하고 더 이상 posts에 post가 없으면 endfor로 빠져나온다는 내용입니다.

화면이 상당히 볼품없어 보이지만, 이 화면이 뜨기까지 거치는 백그라운드 동작을 무시할 수는 없는 거 같습니다.

다음 시간에는 이번 시간에 만든 내용을 반복하면서 깊이 있는 내용을 진행한다니, 기대해 주세요!


DAY 8 : 3/5(토) “view.py의 결과물은?”

이번 시간에는 배운 내용이 상당히 많았습니다. 먼저 결과물을 보여드리겠습니다. 바로 view.py 파일입니다.

이렇게 보니 뭔가 대단히 있어 보입니다. 제가 이런 내용의 코드를 작성하다니, 실로 대단한 발전인 거 같네요.

view.py 는 각종 함수가 담겨있는 부분입니다. 함수의 naming, 즉 이름을 짓는 것도 코드의 가독성에 중요한 부분이라고 하니, 웬만하면 알아보기 쉽게, 사용하기 쉽게 작성을 하는 것이 좋습니다.

글 목록을 보여주는 list_posts부터 시작해서, view_post, category_posts 등 보기, 생성하기, 삭제하기 등의 함수들이 작성되어 있습니다.

사실 이 코드를 작성하기까지 수많은 에러를 계속 겪었지만, 든든한 강사님의 도움과 조교님의 지원 사격으로 에러 없는 코드를 작성하게 되었습니다.

단순히 개발 입문자의 입장으로만 봤을 때는 대단하다고 느낄 수 있겠지만, QA가 직업인 제 시각으로 보면 상당히 허술하기 짝이 없는 코드이긴 합니다. 빈틈이 많고 체크해야 할 예외사항들을 처리해야 하나, 아직은 그 정도의 경지에 오를 수 없기에 기초부터 차근차근 올라가는 게 좋을 거 같습니다.

저 코드의 결과물이 궁금하신가요?

자, 공개합니다! (urls.py, temple 파일 등은 어떻게 짜였을지 view.py 코드를 보면서 예상해 보세요.)

글 목록 페이지

글 상세 보기 화면
(댓글 목록, 댓글 달기, 글 삭제, 댓글 삭제 기능까지 모두 들어가 있는 집합체)

이렇게 점점 발전해가는 모습이 보입니다. 페이지가 어떻게 변할지는 두고 봐야 알겠지만, 기대됩니다. 이렇게 오늘 수업이 끝났습니다.

[파이썬으로 시작하는 웹 프로그래밍 CAMP] 자세히 보기 >>>

Recent Posts