코드 작성에 열흘 배포 하루 총 11일간의 BYlog 프로젝트가 끝이 났다. 현재는 bylog.co.kr 로 들어가볼 수 있다.
if not pswd and blog: # 비밀번호 변경x user.introduction = form.introduction.data user.private_key = form.private_key.data db.session.commit() return redirect(url_for('main.bylog', id=id))
회원정보수정 화면과 수정할때 사용되는 코드 일부이다.
회원정보수정에서는 비밀번호와 블로그코드, 블로그소개글을 수정할 수 있게 했다.
게시글 작성 화면이다
게시판은 카테고리를 나누고싶었는데, 마땅히 어떤 카테고리들로 나눠야할지 모르겠어서 그냥 간단하게 만들까 하다가 공개/비공개를 설정할 수 있게 만들어서 카테고리 흉내(..?)정도 내는 선에서 타협했다.
게시글목록이 포함된 블로그 메인화면이다.
지난번 글에선 아직 아무것도 없어서 그림판으로 구상했던 것만 올렸었는데, 정말 장족의 발전이다.
공개글은 욕설 같이 다른사람들한테 피해가 가면 관리자가 직접 삭제할 필요가 있어 삭제버튼을 글 작성자(블로그주인) 본인뿐만 아니라 관리자에게도 보이도록 설정했다.
비공개글로 설정하면 본인만 볼 수 있고, 굳이 관리자가 삭제할 일도 없을 것 같아서 그냥 글 자체를 글 작성자 본인에게만 보이도록 설정했다.
게시글마다 일련번호를 부여해줬고, 각 1페이지당 게시글이 10개씩 나오도록 했다. 페이징 관련해서는 이전글 회원관리쪽을 참고하길 바란다.
게시글은 글제목과 글내용을 통해 검색할 수 있도록 만들었다.
검색기능도 작동방식이 궁금하면 이전글 회원관리쪽을 참고하면 될 것 같다.
프로젝트를 하다보니 점점 쓰던 코드들을 다시 활용하는 경우가 많아지는듯 하다.
게시글 화면이다. 수정과 삭제 기능도 구현했고, 댓글도 달 수 있게 했다. 게시글작성, 댓글작성, 방명록작성 등이 다 작동방식이 비슷해서 글 적을게 마땅히 없다..
제목 우측에는 작성일시와 수정일시를 표시해줬다.
게시글목록에서는 시간필터를 년월일만 나오도록 작성해서 활용했고 게시글화면에서는 시간까지 볼 수 있도록 했다.
BYlog의 핵심기능 중 하나인 이동하기 화면이다.
프라이빗블로그가 컨셉이다보니 다른사람 블로그에 방문하려면 그사람 블로그코드를 입력해서 이동할 수 있도록 해야했는데, 기존에 집입가능한 인원을 세션을 통해 검사하다보니 이 블로그코드 입력한 사람을 해당 블로그로 리디렉팅 시켜도 다시 자기 블로그로 돌아오는 현상이 발생했다.
이를 해결하기 위해 블로그코드를 입력하면 해당 블로그코드를 세션에 주고 메인화면 진입을 위한 조건문을 아래처럼 수정해줬다.
if id == session['user_id'] or session['user_id'] == 1 or session['code'] == blogcode: return render_template('main/base.html',user=user,diary=diary,kw=kw,form=form,guest=guest,id=id )
또 블로그 메인이다.
다른사람이 블로그에 방문했을 때, 방명록을 남길 수 있도록 했다.
메인화면에 검색폼도 있고 방명록폼도 있고 하다보니 살짝 혼돈의 카오스가 왔었는데, 다행히도 검색은 GET방식으로 처리하고 방명록은 POST방식으로 처리해서 크게 충돌하는건 없이 완성할 수 있었다.
방명록은 작성자와 블로그주인, 관리자가 삭제할 수 있도록 했다.
기존에는 회원관리에서 회원정보 확인하고 회원정보 수정으로 넘어갈 수 있게 해놨었는데, 블로그 메인화면이랑 게시판을 만들고 보니 블로그메인으로도 갈 수 있어야 할 것 같아 ID를 누르면 해당 블로그로 이동할 수 있도록 기능을 추가했다.
BYlog의 UI들과 기능들은 거의 다 소개한 것 같다.
다음글에서는 배포과정과 그 과정에서 발생했던 문제들 그리고 해결방법들을 다뤄보려 한다. 그럼 이만~ :)