본문 바로가기

회고/TIL : Today I Learned

[TIL] 221004 내일배움캠프 37일차

 프로젝트1 - django 클론코딩 

 

 휴일에도 프로젝트를 진행하면서 오류나 코드를 작성하는데에 큰 어려움을 겪었다. 지금까지 해왔던 파이썬 기초문법 실습이나 알고리즘 실습에서 겪은 오류보다 뭔가 메시지도 많고 살펴봐야할 파일과 코드 분량이 많다보니 오류를 해결하는 것 역시 쉽지 않았다. 제일 먼저 로그인, 회원가입 기능을 구현하고 다듬어나갔다. 기존 원격 강의에서 다룬 기본 항목 이외에 추가적으로 이메일 유효성 검사 부분을 추가하고 프로필 페이지를 만들었다. 

 

 이메일 유효성 검사는 import re로 정규식표현 모듈을 불러온 뒤 정규식 표현을 작성하여 컴파일해주고 match()를 사용하여 입력받은 문자열을 검사하도록 했다. 이때 대조방법 중 문자열 전체를 검사하여 대조하는 search()도 있었지만 문자열의 시작부분부터 정규식 표현과 대조하여 일치하는지 검사하기 위해 match()를 사용했다. 

 

 프로필 페이지는 우선 기본 html과 css로 화면을 구성하고 a테그로 다른 페이지에서 사용자 클릭 시 프로필 페이지로 이동하도록 코드를 작성했다. 그 다음 해당 페이지에서 작성게시글, 팔로우, 팔로잉 수를 집계하여 보여주도록 했다. 팔로우, 팔로잉 수는 html에서 바로 값을 호출해 .count로 집계했고 작성게시글은 user/views.py에 .filter와 .count()를 사용해 html에서는 집계결과를 바로 전달받아 출력하도록 해줬다. 두 방법 다 화면 결과는 같지만 views에서 모든 동작을 작업해주는 MTV패턴을 고려하면 후자 방식이 좋을 것 같다. 이어서 해당 페이지에서 작성 게시글 이미지 불러오고 팔로우, 팔로우 취소 기능도 더해줬다.