전체 글
[물물#1] 장고 모델(model) 설계하기, DB관계구조 파악하기
데이터베이스 모델을 만들었다. 모델을 설계하면서 겪었던 과정 에러들을 나열하고 그 에러들은 장고게시글에서 따로 정리하도록 하겠다. 아직 뭐가 더 필요할지는 모르지만 1차적으로 필요한 모델들을 정리해보았고 해당 모델들이 어떻게 관리되는지에 대해서 간략하게 정리하도록 하겠다. 모델 설계을 체계적으로 해야한다는 생각을 가지고 있었지만 막상 해보려고 하니까 어디서 어떻게 뭐가 필요한지에 대해서 어떻게 DB를 쓰일지에 대해서 내가 해보지 않았기 때문에 꽤 어려웠다. 나름의 1차적으로 필요한것들에 대해서 설계를 해 보았다. 하면서 느낀점은 프로젝트를 만들기전에 어떤 서비스를 어떻게 제공해야할지에 대한 정확한 명세가 필요하다는 것을 느꼈다. 그러나 난 이번 개인프로젝트에서는 부딪히면서 하나하나씩 겪어보는 것이 목표기..
[물물#0] 개인프로젝트 구조화하기, 계획세우기
요 근래 나름 블로그에 글을 많이 썼다. 처음에는 아무생각 없이 썼는데, 쓰다 보니까 생각 정리가 되는거 같아서 좋았다. 또 기록용으로 남겨두고 정말 헷갈리는게 있을때 구글을 찾지 않고, 내 구글에서 내 흔적을 돌아보면서 복기하자는게 목적이다. 아직은 글솜씨도 가독성도 좋지 않고, 정확하고 자세한 정보를 기록하는거 같지는 않다. 그래도 하면 실력은 는다고 했다. 언젠가는 성장해 있을 것이다. 그리고 외국 유튜브 찾아보고 외국문서 찾아보면서 기록하면서 영어 익숙해지려고 노력중이다. 고심고심하던 개인프로젝트를 드디어 시작해 볼까한다. 전역하고 허송세월 시간을 보내다보니 벌써 1년이 흘러 버렸다. 지체하면 졸업할거 같다. 사실 프로젝트자체에 거부감은 없다. 항상 해보고 싶었는데, 이런저런 핑계와 더불어 내 기..
[Django] rest-framework에서 유저 프로필 이미지 등록, 유저 삭제시 파일 삭제, 커스텀유저 프로필 이미지 업로드, jwt
장고에서 기본으로 제공하는 유저를 커스텀하여 email을 기반으로하는 User를 만들었었다. 이제 만들었던 User에 대하여 프로필 이미지를 만들어주려고한다. 나는 지금까지 만들었던 커스텀 user에 등록하겠끔 했지만, 일반적인 User에 동일 방법으로 적용이 가능하다. # 구현사항 User모델에 프로필 이미지(image) 추가 회원탈퇴시 파일삭제 + JWT 토큰 회수 token.py파일에서 GetToken, GetPayload ,CheckToken 분리시켜 반복되는 코드를 제거 토큰을 분리시켜 사용했지만 저방법에 대해서는 jwt자체의 모듈을 사용하거나 데코레이터를 사용하는 방법이 존재할거 같다는 생각이 들었지만 일단은 저렇게 사용했다. 프로젝트를 시작하면 인증절차를 매 페이지마다 사용할 수 있는 방법..
[Django] JWT#2, 장고 JWT토큰 사용하기, payload, Pyjwt, 장고 로그인 유지
[Django] JWT#1, Serializer을 이용하여 password 암호화하여 데이터베이스(DB) 저장하기, 비밀번호 암호화 JWT을 통하여 회원가입 로그인 로그아웃을 토큰을 통하여 하는 방법을 알아내기 위해, 꽤 많은 구글링을 거쳤다. 공식문서에서는 simple-jwt를 사용하라고 했었는데, 해외 유튜버를 참고하여 pyJWT를 devforyou.tistory.com # 토큰을 쓰는 이유가 무엇일까? 우리가 이용하는 서비스의 대다수는 "로그인"시스템이 존재한다. 로그인을 한 후 접근가능한 사이트에서 또는 서비스를 이용하게 된다. 그렇다면 로그인을 마치고 다음으로 이동하는 사이트에서 우리가 로그인 한 사용자라는 것은 어떻게 알 것인가? 여기에서는 대표적으로 세션 방식과 토큰을 이용하는 방식이 이용된..
[Django] JWT#1, Serializer을 이용하여 password 암호화하여 데이터베이스(DB) 저장하기, 비밀번호 암호화하기
JWT을 통하여 회원가입 로그인 로그아웃을 토큰을 통하여 하는 방법을 알아내기 위해, 꽤 많은 구글링을 거쳤다. 공식문서에서는 simple-jwt를 사용하라고 했었는데, 해외 유튜버를 참고하여 pyJWT를 사용하여 구현하는 방법을 알아 낼 수 있었다. 이번 포스팅에서는 jwt 토큰을 주고받기 전에 password를 DB에 저장할때 암호화(hashing)을 통하여 저장 할 수 있는 방법에 대해서 기록하도록 하겠다. ## 필요한 라이브러리 Serializer을 사용해야하기 때문에 DRF를 pip를 통하여 설치해야 하며, setting.py에 restframework를 추가해주도록 하자 Django-rest-framework # serializer 작성 Serializer.py를 account 앱 또는 사용할..