구현 : ✔
미구현 : ❌
주절주절... : 💬
- 메인페이지 ✔
- 페이지 제목 ✔
- 입장하기 버튼 ✔
- 유저 ✔
- 회원가입 ✔
- 로그인 ✔
- 프로필 ✔
- 닉네임 ✔
- 수정 ✔
- 게시글
- 목록 ✔
- 작성 ✔
- 권한 : 로그인 ✔
- 사진업로드 ✔
- 조회수 ❌
- 상세 ✔
- 수정 ✔
- 권한 : 로그인, 본인 ✔
- 수정 된 내용을 볼 수 있어야함 ❌
- 삭제 ✔
- 권한 : 로그인, 본인 ✔
- 존재하지 않는 게시글입니다 페이지 ✔
- 검색 ✔
- 주제나 태그에 따라 ✔
- 시간순 정렬 ✔
- 댓글 💬
- 권한 : 로그인 ✔
- 대댓글 ✔
- 권한 : 로그인 ✔
- 정적파일(collectstatic) ✔
- 번역 ❌
- AWS Lightsail 배포 ❌
댓글을 굳이 만들어야하나... 라는 생각을 하다가 'thread'앱을 떠올리게됬다.
댓글 -> 답글로 개념만 바꾸면 된다.
댓글모델을 따로 만들 필요없이 Post가 다른 Post를 부모Post로 참조하면 간단하게 구현할 수 있다
그래서..
뭘 적어야 좋을지 몰라 기능소개를 해야겠다는 생각이 든다.
글 작성할때 Toast Editor를 사용했는데, 에디터 자체가 이미지업로드를 지원한다.
막아버릴수도 없고, 주렁주렁 base64 텍스트가 스크롤을 농락하는걸 두고볼수도 없다.
글 작성/수정이 완료됬을때, 글의 내용을 정규표현식으로 base64이미지를 파싱해서 이미지 업로더에 던지면 인코딩 디코딩 뭐어쩌구저쩌구 해서 업로드 후 imgurl로 return 해준다.
챗선생께 부사100개 동사100개 동물이름100개(동물이름에 뭐 이것저것 섞어놨던데)를 달라고했다
상단 요구사항에 보면 로그인, 본인 등과 같은 권한에 관련된 내용이 존재하는데, 어떻게 구현을 할까 고민하다... 앞서 배웠던 데코레이터가 생각이 났다.
어떻게 만들지 고민하다 데코레이터에 파라미터를 넣어서 쓰도록 제작했다
@user_has_permission(['login','own','not_me'])
이상하긴 한데 어쨌든
- login : 로그인유저
- own : 글 주인
- not_me : 내가 아님
- 팔로우 때문에 만들었다.
/ - index
accouts/reg/' - 회원가입
accouts/login/' - 로그인
accouts/logout/' - 로그아웃
blog/write/" - 게시글 작성
blog/detail/<int:pk>/", - 게시글 상세
blog/detail/<int:pk>/like/" - 게시글 좋아요
blog/detail/<int:pk>/hashtag/" - 게시글 해시태그 설정
blog/update/<int:pk>/" - 게시글 수정
blog/delete/<int:pk>/" - 게시글 삭제
blog/@<str:nickname>/" - 유저
blog/@<str:nickname>/edit/" - 프로필 수정
blog/@<str:nickname>/follow/" - 유저 팔로우
- 아는건 별로 없는데, 원하는 기능은 많다보니 놓친게 많이 보여 아쉬움
- 소셜로그인을 넣을 생각으로 구현을 했었는데, 비용이나 기술문제로 뒤늦게 일반 로그인으로 변경
- Toast editor에서 이미지를 처리할때, hooks속성을 이용하면 파싱을 안하고 처리 할 수 있다고 하는데. 너무 뒤늦게 알아버렸다.
공부를 안했다는거지...