본문 바로가기

전체 글89

2022-11-04 TIL (미들웨어란?) 오늘은 개발을 하다가 미들웨어라는 개념을 새로 알게 되었다. 그 전에도 settings.py에서 미들웨어라는 코드를 보기는 했었는데, 한번 공부해볼법 해서 공부해보았다. 미들웨어란? http요청/응답 처리 중간에서 작동하는 시스템이다. django는 http요청이 들어오면 일단 미들웨어를 한번 거치고 해당 url에 등록되어 있는 뷰로 연결된다. 반대로 http 응답 역시 미들웨어를 거쳐서 내보내진다. 미들웨어는 순서가 중요한데, http request가 들어오면 위에서붜 아래로 미들웨어를 적용시키고, 반대로 response가 나갈 때는 아래서부터 위로 미들웨어를 적용시킨다. 이 미들웨어를 커스텀한다면 훨씬 강력한 기능들을 구현할 수 있을것 같다. 하지만 아직은 손 대볼 겨를이 없다 ㅠㅠ 이번 프로젝트만 .. 2022. 11. 7.
2022-11-03 TIL (dj-rest-auth) 지금까지는 회원가입과 로그인 코드를 하나하나 다 짰는데, 개발을 하다가 dj-rest-auth 라는것을 발견하였다. Welcome to dj-rest-auth’s documentation! — dj-rest-auth 2.2.5 documentation Welcome to dj-rest-auth’s documentation! — dj-rest-auth 2.2.5 documentation © Copyright 2020, @iMerica Revision 6b394d9d. dj-rest-auth.readthedocs.io 지금까지 하나하나 수제로 짰던 회원가입, 로그인, 이메일인증, 소셜로그인, 비밀번호 변경 등등 수 많은 기능들은 기본적으로 제공해주는 강력한 패키지이다. # urls.py urlpatterns.. 2022. 11. 4.
2022-11-01 TIL (백엔드와 프레임워크 공부) 오늘 공부를 하면서 튜터님이 이런 말씀을 하셨다. " django같은 프레임워크는 백엔드의 수많은 도구중에 하나일 뿐이다. 프레임워크 공부에 너무 집중하지 말고 백엔드를 공부해라." 참 나에게 있어서는 와닿는 말이었다. 프레임워크 공부를 멈춰라 | by Jayce Park | Medium 프레임워크 공부를 멈춰라 멘토: “기술은 나타났다 금방 사라지지만 그것들은 많은 부분에서 공통점을 가지고 있어. 우선순위를 올바로 잡아야 해. 학습 시간의 80%는 본질적인 것에 투자하고 나머지 20%를 프레임워크나 medium.com 요즘 django를 공부하면서 많이 착각을 한것 같다. 백엔드에는 수많은 프레임워크가 있고 django는 그 중에 하나의 프레임워크일 뿐인데 너무 django에만 몰두하고 있었던것 같다... 2022. 11. 2.
2022-10-31 TIL (SerializerMethodField) 일단 모델을 JSON으로 쉽게 바꿔주는건 ModelSerializer를 사용한다. 하지만 모델에 없는 필드인데 JSON에 특정 필드를 추가해서 내려주고 싶거나, 변경해서 내려주고 싶다면? (예를 들면 user모델의 pk값을 받아오는데 pk값으로 출력하지 않고 email 값으로 출력하고 싶다.) 이럴때 사용하는게 SerializerMethodField 이다! class ArticleListSerializer(serializers.ModelSerializer): user = serializers.SerializerMethodField() def get_user(self, obj): # 자동으로 연결 return obj.user.email # 이제 user는 user.email 값이 되었음. 기본적인 사용방법.. 2022. 10. 31.
9주차 WIL (RESTful API란?) 먼저 나는 지금까지 django를 설계하면서 API(라고도 하기 뭐 하지만 url이다.)를 아래와 같이 작성해왔다. /read-member-list /read-member-by-id /create-member /update-member /delete-member 이렇게 짜면 단점이 나중에 가서 유지보수를 할 때나 내가 했던 프로젝트들을 복기할 때, 도대체 이게 무슨 코드인가 하고 나도 모를수도 있다는 점이었다. 이것은 쉽게말해 RESTful 하지 못하다. RESTful API란? RESTful API란 무엇인가? - RESTful API 초보자 가이드 - AWS (amazon.com) RESTful API란 무엇인가? - RESTful API 초보자 가이드 - AWS Amazon API Gateway는 .. 2022. 10. 30.
2022-10-28 TIL (django ImageField) django 에서 모델을 설계할 때, 이미지 파일을 처리하려면 ImageField를 써야 하는데 몇가지 준비사항이 있다. image = models.ImageField(blank=True, upload_to='%Y/%m/') 일단 모델을 해당 코드와 같이 해준다. blank=True 는 사진을 안 넣어도 되게 설정해 주고 upload_to=~는 media 폴더의 해당 경로에 저장해준다는 의미이다. pip install Pillow 먼저 pillow 라이브러리를 설치해준다. pillow 라이브러리는 이미지를 처리하는 파이썬 라이브러리이다. #settings.py STATIC_ROOT = BASE_DIR / "static" STATIC_URL = "/static/" MEDIA_ROOT = BASE_DIR /.. 2022. 10. 30.