본문 바로가기

TIL

(28)
23.04.18 TIL (장고에서 PUT 쓰기) 오늘 한 것 DRF 1강 수강 및 정리(링크) 페어프로그래밍 장고에서 PUT 쓰기 def view(request): if request.method=="PUT": data_a=requset.PUT.get("data_a","") 위와 같이 Django에서 PUT을 POST 처럼 써서 데이터를 뽑아내려하면 아래와 같은 에러를 볼 수 있다. 'WSGIRequest' object has no attribute 'PUT' 시도: 헉 장고에서는 PUT 못쓰나바 그럼 걍 포스트 쓰지 모 delete는 get 쓰고 put은 그냥 post 쓰고 실제 DB동작만 맞추면 되지 ㄹㅇㅋㅋ 그렇게 팀 프로젝트를 마치고서 피드백 시간때 회초리 맞았다(비유적 표현이다). 장고에서 PUT을 처리하지 못하는 어쩌구, DRF도 PUT이 ..
23. 04.17 TIL 오늘 한 것 발표준비 발표 및 피드백 받기 KPT회고 작성 선발대 강의 정리(링크) 장고 기초 프로젝트가 오늘부로 마무리 되었다. API명세와 ERD를 포함한 SA 수정 및 발표 자료를 준비하였다. 새로 만들어진 모델들을 반영하였다. 피드백 정리 발표 후 피드백을 받은 내용을 정리하였다. 테스트 코드, 주석처리한 코드는 배포전에 지워라 코드에 쓸데 없는 군더더기가 남지 않는 것이 좋다. 필드명, app 폴더명, 모델 명등의 이름을 잘 지어주자 한번에 알아볼 수 있는 이름으로 잘 지어주는 것이 좋으며 네이밍 컨벤션에 알맞은 이름을 지어야한다. 백엔드에도 검증(validation)이 필요하다 프론트 엔드에서 적합하지 않은 입력값을 걸러낸다고 해도 백엔드에서도 한번 더 검증을 할 필요가 있다. 왜냐하면 pos..
23.04.14 TIL(django웹서비스에 image업로드 구현) 오늘 한 것: 팀 프로젝트 기능 구현, 오류 찾고 고치기 1. 프로필 페이지에 이미지 넣기 사용자가 이미지를 업로드 할 수 있는 기능을 만들기로 하였다. 사용자가 올리는 이미지나 파일들은 ImageField, 혹은 FileField에 경로가 저장된다. 여기에는 정확히는 해당 파일/이미지의 경로만이 저장된다. 먼저 Pillow라는 이미지처리 패키지를 설치한다. pip3 install Pillow settings.py에서 다음과 같은 설정을 추가한다. MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'media') 사용자가 올리는 파일들은 media 디렉토리 안에 저장된다. 이를 위해 media 경로를 지정해주는 것이다. 이후 이미지 업로드를 사용할 a..
23.04.13 TIL 오늘 한 것 팀 프로젝트 SA문서 수정 팀 프로젝트 코드 테스트 및 충돌 조율 팀 프로젝트 profile 페이지 template 구현-modal 팀 프로젝트 글 category 구현 - query parameter, path variable .gitignore: 추적하지 않는 폴더 중 일부 파일만 변경사항 추적하기 모델이 지속적으로 수정되는 중인데 migrations 폴더 안의 내용물이 이 레포에서 저 레포로 옮겨다니다 보니 아주 정신사납다. 그래서 해당 폴더 자체를 추적하지 못하게 하자니, 처음 클론받는 사람이 __init__.py 파일이 없어 곤란을 겪지 않을까 싶다. 그래서 그 파일만 추적하도록 하고 싶다. 해결: 위와같이 파일 경로 앞에 '!' 를 쓰면된다. favicon 404: 빠삐코도 아니고..
23.04.12 TIL 오늘 한 것 팀장 위임받기-내 레포지토리로 옮기기 regex를 이용해 회원가입 기능 보완하기 로그인 기능 만들기 PR조율 및 오류 해결 레포지토리 옮기기 팀장분이 건강 문제로 잠시 떠나셨다. 그래서 이제부터 내가 선장이다. 근데 콜라보레이터를 받긴했는데, 떠난 분의 레포지토리서 계속 PR을 하는건 뭔가 모양새가 영 아니다. 최대한 커밋로그를 살리면서 내 계정으로 옮겨보자. 1. 포크 최신화 원본 레포지토리에 있던 main이 아닌 브랜치이 중요한 변경사항들을 일단 모두 merge하여 main에 반영하였다. 그렇게 하고서 이전에 포크했던 내 계정의 포크 레포지토리를 sync fork로 최신화 하였다. 2. git pull 이후 이전에 원격 레포지토리와 연결되어있던 로컬 레포지토리 main 브랜치에서 변경사항..
23.04.11 TIL(팀플개발일지) 오늘 한 것 팀 과제 기능 구현 팀 과제 기능 테스팅 코딩테스트 풀이 팀 과제 기능 구현: 프로필 조회 및 수정 0. 협업 환경 조성 본격적으로 시작하기 전에 협업을 위한 환경을 조성하기로 하였다. 가상 환경 만들기 및 requirements.txt로 패키지관리 먼저 가상환경(venv)를 생성한 뒤, 가상환경에서 Django를 비롯한 필요한 패키지 들을 설치하였다. 이후 requirements.txt 파일을 이용하여 venv를 깃헙에 올리지 않고도 손쉽게 가상환경 셋팅을 공유할 수 있게 하였다. pip freeze >requirements.txt # 작성 pip install -r requirements.txt #사용 .gitignore 미리 작성 처음부터 우리 팀원들이 사용중인 개발환경을 고려하여 gi..
23.04.10 TIL(팀플 개발일지) 오늘 한 것 팀 프로젝트 회의 개인 과제 해설 수강 학습법 강의 수강(링크) 개인 과제 해설 튜터님이 해주신 개인과제 해설로부터 새롭게 알게된 것들을 정리하였다. 1. makemigrations Vs. migrate 두 명령어는 모델을 DB에 적용할 때 순차적으로 실행되는 명령어다. 전자는 DB에 실제로 아무런 변화도 생기지 않는다. 대신 migrations 폴더에 모델의 변경사항을 반영한 스키마 파일을 생성한다. 스키마는 DB의 논리구조에 대해 정의하는 개념이다. 개체와 속성, 개체와 개체간의 관게와 제한사항을 정의한다.(자세한 것은 추가학습 필요) 마이그레이트: 생성된 변경사항들을 실제 디비에 적용하는 명령이다. 2. filter() Vs. get() 모델.objects.filter 와 .get은 둘..
23.04.07 TIL 오늘 한 것 개인 과제 마무리 코딩테스트 (신규아이디 추천, 둘만의 암호, 피보나치 수) 오늘 TIL은 개인과제를 마무리하는 과정에서 마주한 에러들과 문제, 의문들을 정리하고자 한다. 0. ERD 그리기 데이터 베이스의 필드와 구조의 변경이 있어 반영하여 새로 ERD를 그렸다. Link for DBdiagram.io 1. django: auto_now_add Vs. auto_now DateField는 auto_now와 auto_now_add 매개변수를 받을 수 있다. 이 둘이 무슨 차이인지 궁금했다. 해결: 공식 문서 DateField.auto_now Automatically set the field to now every time the object is saved. Useful for “last-mo..