- Python 3.7.3
- django
- psycopg2
- 2.8.x
- django-enumfield
- django-ipware
- 회원
- 회원 가입
- 정보 수정
- 로그인 / 로그아웃
- 방명록
- 글 목록 조회
- 글 남기기
- 글 삭제하기
- 게시판
- 글 목록 조회
- 페이지네이션 구현
- 비회원이 게시글 리스트 조회, 게시글 상세 조회 모두 가능
- 글 열람하기
- 글 목록으로 돌아갈 경우 해당 글을 클릭했던 페이지로 이동
- 글 남기기
- 답글일 경우 자신이 남겼던 글을 쉽게 확인할 수 있도록 글 쓰기 이전에 위치했던 리스트로 이동함
- 글 수정하기
- 글 수정 시 자신이 수정한 글을 쉽게 확인할 수 있도록 '글 목록'을 눌렀을 때 수정한 글이 위치했던 페이지로 이동할 수 있도록 처리함
- 글 삭제하기
- 삭제 대상 게시글을 비활성화로 돌리고, 다르게 표시시킴
- 삭제 대상 게시글을 열람하려고 할 경우 게시판 메인 페이지로 이동함
- 게시글 삭제 후 삭제한 게시글이 있던 페이지로 이동
- 글 목록 조회
- 게시판 비회원도 게시글을 열람할 수 있음
- 단, 작성, 수정, 삭제는 불가능
- 이전에는 로그인 페이지로 리다이렉트 됐다면, 이번에는 게시판 메인 페이지로 리다이렉트 됨
- 조회수 처리
- 기존 세션에 저장했던 방식에서 데이터베이스에 저장하는 방식으로 변경
- 계정이 아니라 IP에 대해 검사함
- 하루가 지나면 다시 카운팅됨
- 기존 세션에 저장했던 방식에서 데이터베이스에 저장하는 방식으로 변경
- 페이지 초과에 따른 처리
- 페이지 1보다 이전 페이지로 이동하려고 할 때 게시판 메인 페이지로 리다이렉트
- 최대 페이지보다 다음 페이지로 이동하려고 할 때 마지막 페이지로 이동
- 검색 기능
- 전체 열람 시에는 삭제된 게시글도 나오지만, 키워드 검색 시 삭제된 게시글은 나오지 않도록 함
- 페이지 번호 1부터 차례대로 부여. 정렬 순서는 최근에 올린 글 순서(계층 고려함)
- 답글이 어떤 게시글에 대한 답글인지 확인할 수 있는 컬럼(parent)을 따로 만들고 이에 대한 정보를 타이틀에서 보여줬다면 편의성이 증가하지 않았을까 싶다.
- enum 타입을 models에서는 사용했지만 template language에서는 제대로 사용하지 못했다. (결국 정수형으로 처리)
- 삭제, 답글 작성, 수정, 게시글 상세 조회 시 기존에 있던 페이지로 이동시키기 위해 뒤에 파라미터를 붙였는데, 이것 때문에 너무 조잡해진 것 같다.
- 190616
- 에러페이지 구현. 소스를 읽어들이지 못하는 문제가 발생하여 일단 비활성화 시켜둠
- 190617
- 부트스트랩 이용하여 템플릿 꾸미기