원래 쓰던 테이블에 필드가 하나 더 있는 것이 좋을 것 같아서 필드를 추가하고, 들어온 값의 일부를 사용해서 해당 필드를 채우도록 save를 다음과 같이 오버라이딩했다. def save(self, *args, **kwargs): if not self.extension: self.extension = str(self.file).split(".")[-1] super(File, self).save(*args, *kwargs) 그리고 어드민에서 잘 동작하는 것 같아서 그냥 두고 잊어버리고 있었다. (사실 테스트코드만 있었어도 해결가능하지만......ㅎ) 그러던 와중 앱 테스트 도중에 파일 업로드가 안된다는 얘기를 들었다. 에러 메세지는 다음과 같다. ValueError: Cannot force both inse..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cbhIrN/btqZlQssOnr/SOZLRzKDFlVzdeqo9TVAdk/img.png)
새로운 프로젝트를 맡아서 api 서버개발을 했다. 회사에 서버개발하는 사람이 나밖에 없어서 서버구축 - api 설계 - 코드 작성 - 배포 다 나 혼자 한다....리뷰도 셀프^^ ... 아무튼 django restframework로 api 개발을 마치고, 이 블로그를 참조하여 docker-compose를 사용해서 nginx, gunicorn을 사용하는 컨테이너를 만들었다. 테스트해보니까 로컬에선 venv + runserver 혹은 docker-compose up로 서버 띄워서 테스트시 양쪽 다 내가 의도한대로 잘 돌아가길래 이제 배포만 하면 되겠구나! 하고 배포했다. 배포의 경우엔 AWS ec2에 저장소 코드를 올리고, 여기에 어플리케이션 로드밸런서를 붙인 후, route53에서 이미 생성되어있는 호스팅..
에듀캐스트에서 이진석님의 강좌 '리액트와 함께 장고 시작하기 Complete'를 다 들었는데 막상 정리를 안 해놔서 강좌 내용을 바탕으로 장고 이론을 정리해보기로 했다. ORM이란? Object-Relational-Mapper의 약자로 프로그래밍언어의 OOP 스타일로 쿼리를 작성할 수 있게 해주는 것. 장: 어떤 디비를 사용하든지 이미 잘 알고있는 언어를 사용해 디비를 조작할 수 있으므로 매우 편리하다. 단: ORM을 사용함으로서 오버헤드가 발생하며, SQL을 통해 튜닝하는 것이 ORM을 통해서는 불가능할 경우가 많다. Django Models 장고 ORM은 RDB만 지원한다. (따라서 MongoDB 등의 NoSQL을 쓴다면 장고보다는 다른 파이썬 프레임워크를 쓰는 것이..) 상황에 따라 다르겠지만 되도..
- Total
- Today
- Yesterday
- 동남아
- udemy
- 파고다후기
- 그래프QL인액션
- 머신러닝파워드애플리케이션
- 싱가폴
- django
- 다시미분적분
- Python
- 싱가포르
- 길벗출판사
- 싱가폴여행
- 해외여행
- 파고다갓생후기챌린지
- 리액트와함께장고시작하기
- 개발자리뷰어
- 한빛출판사
- 한빛미디어
- Singapore
- askcompany
- 유데미강의
- 아토믹코틀린
- SQL기초구문
- 나는리뷰어다
- SRE를위한시스템설계와구축
- 혼자공부하는얄팍한코딩지식
- BookDiscussion
- 나는리뷰어다2022
- 파고다강남후기
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |