Framework/Django (3) 썸네일형 리스트형 [Django] Django Model Field - FileField 1. FileFieldFileField 는 파일 업로드를 위한 필드이다. FileField 는 두가지 선택 인자가 있는데 upload_to 와 storage 이다.- FileField.upload_to파일 업로드 디렉토리와 파일 이름을 설정하는 속성으로 두가지 방법으로 설정할 수 있다. 두가지 방법 모두 설정한 값들이 Storage.save() 메서드로 전달된다. 만약 아래와 같이 strftime() 형식을 포함한 문자열 값이나 Path 객체로 값을 설정한 경우, 파일 업로드시의 날짜/시간으로 해당 형식이 대체된다. class MyModel(models.Model): # 파일은 MEDIA_ROOT/uploads 경로에 저장된다. upload = models.FileField(upload_to="uploa.. [Django] select_related() 와 prefetch_related() Django 로 백엔드를 개발하던 중, 연관관계가 복잡한 엔티티들의 조회를 구현해야하는 경우가 발생했다. 성능을 생각해서 raw query 로 작성을 하려다가 이번기회에 Django ORM 에서 안 써본 기능 들을 쓰고싶어서 ORM 으로 개발하기로 했다. 연관관계를 가지는 엔티티들을 조회할 때, 일반 방식으로 접근하면 lazy loading 으로 N+1 문제가 발생하게 된다. 이때문에 한번에 객체들을 조회할 수 있도록 eager loading 방식으로 구현해야 한다. Djnago ORM 에서는 eager loading 방식을 select_related() 와 prefetch_related() 두가지 기능으로 제공해주어 이에 대한 정리를 해보려한다.1. eager loading (즉시 로딩)ORM 에서 외.. [Django] Django 배포 - wsgi vs asgi 장고 애플리케이션을 개발하고 나면 이를 배포해야 한다. 자바 스프링의 경우 Tomcat과 같은 WAS 환경으로 배포된다. 하지만 파이썬은 자바 애플리케이션과 달리 컴파일이 필요없고 인터프리터를 통해서 실행된다. 그렇다면 파이썬 애플리케이션이 어떤 웹서버 환경에서 동작하는지 장고 애플리케이션을 기준으로 정리한다.1. CGI vs WSGI vs ASGI파이썬 애플리케이션을 웹서버에서 실행하기 위해서는 웹서버와 애플리케이션이 통신할 수 있어야 한다. 웹서버로 전달된 요청을 애플리케이션으로 전달하고 애플리케이션에서 처리한 응답을 다시 외부로 반환할 수 있어야 한다. 이러한 동작을 위해서 파이썬 애플리케이션의 통신 방식을 인터페이스로 미리 정의해놓았고, 통신 방식에 따라서 CGI, WSGI, ASGI 등 다양하게.. 이전 1 다음