Django 프로젝트에서 게시판 프로젝트를 시작한다. 인증 부분에서 소셜인증, 회원정보 수정을 제외하고는 전부 구현하였다. (나머지 기능은 차차 구현할 것이다.)



  오늘은 게시판에서 게시글들을 출력하고 게시글을 들어가서 확인하는 것까지 구현하였다.


  먼저 시간 설정을 해주었다. Post 모델을 정의하여 게시글을 만들었다. 이 때 작성일시를 자동으로 현재 날짜시간을 기록하게 하였는데, 이 때 settings.py 에서 설정해주어야할 것이 있다.


< settings.py 설정 >


  이 변수를 False로 설정해야 settings.py에서 설정한 시간대를 프로젝트 전체에서 사용할 수 있다.



  Post 모델을 정의하였다.


< Post 모델 >


  이 모델은 게시글이다. 작성자를 CharField로 설정한 이유는 사용자의 프로필에서 nickname을 가져와서 문자열로 저장하려고 하기 위해서이다.



< urls.py >


  다음으로 urls.py를 설정해준다. 기본적인 게시글 리스트와 디테일을 만들었다. 그리고 추가적으로 글 쓰기와, 글 수정을 만들었다.



< CBV를 이용한 View >


  글 리스트와 디테일은 CBV를 이용하여 쉽게 구현하였다.



< 게시글 목록 보기 >



< 게시글 자세히 보기 >


  다음으로 글 작성하는 것을 만들었다. CreateView (CBV)를 이용할 수 있었지만, 나는 작성자에 사용자의 프로필에 있는 닉네임을 넣어줄 것이고 또한 메세지를 출력해주고 싶었기에 직접 view를 만들었다.


< post_write view >


  글쓰기 뷰를 만들고 테스트해보았다.



< 글 작성 테스트 >



< 글 작성 성공 메세지 알람 >


< 글 작성 리스트에서 확인 >



< 글 작성 내용 보기로 확인 >



  다음으로 작성한 글에 대한 내용을 수정하는 것이다.


< post_update view >


  여기서 인증부분이 필요했다. 글은 아무나 수정하면 안되기 때문이다. 로그인한 사용자의 정보에서 프로필을 가져와 프로필에 있는 닉네임과 게시글 작성자를 비교하여 같으면 수정을 허락하고 같지 않으면 경고를 해준다.



< 글 수정 테스트 >



< 글 수정 성공 메세지 알람 >


< 글 수정 확인 >


  오늘 일지의 마지막으로는 유저 확인기능에 대해서 정리할 것이다. 게시글에서 작성자가 나오는데 해당 작성자에 대해 알아볼 수 있는 기능을 추가하기로 했다. 작성자를 클릭하면 작성자의 정보가 나오게 하는 것이다.



< user_select_info view >


  개인 정보 확인하는 것을 그대로 따왔다.



< urls 추가 >


  개인정보의 경우 로그인정보를 이용하여 정보를 가져오면 되지만 다른 사용자의 정보를 출력하기 위해서는 해당 사용자의 정보를 넘겨줘야한다. 그래서 나는 작성자를 넘겨 주기로 했다.



< 작성자 확인 테스트 >

  tfa 를 클릭해보았다.



< 다른 사용자 정보 확인 >


  다른 사용자의 정보를 확인 할 수 있었다.



=============================


* 추가할 기능 구현 (게시판)

- 댓글 기능

- 조회수 기능

- 게시글 삭제 기능


* 추가할 기능 구현 (인증)

- 소셜 인증


+ Recent posts