일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- js
- javascript
- PYTHON
- django rest framework
- form
- 장고
- django ORM
- API
- Algorithm
- django widget
- MAC
- Baekjoon
- es6
- Git
- AWS
- Django
- 파이썬
- c++
- java
- 알고리즘
- CSS
- web
- HTML
- 알고리즘 연습
- 백준
- DRF
- react
- 파이썬 알고리즘
- 알고리즘 풀이
- 알고리즘 문제
- Today
- Total
수학과의 좌충우돌 프로그래밍
[Django] 썸네일 만들기 본문
안녕하세요 강민성입니다.
이번에는 썸네일에 대해서 알아보도록 하겠습니다.
썸네일이 무엇인지 들어보셨나요?
썸네일이란 여러 이미지 파일 중 이를 대표하는 이미지 파일을 말합니다.
이 블로그 포스팅도 마찬가지입니다.
저는 여러 이미지를 첨부하지만, 목록에서는 대표하는 이미지 하나만 보여주게 되죠.
장고에서도 이런 썸네일을 지정할 수 있습니다.
장고에서 썸네일을 지정하면 이점이 뭐가 있을까요?
다음과 같은 이점이 있습니다.
1. 파일 용량관리에 유리하다.
2. 파일 분류에 효율적이다.
thumbnail 만들기
thumbnail 이라는 새로운 프로젝트를 만들고
thumbnailapp 이라는 이름으로 앱을 만들어주었습니다.(settings 에 등록!)
기본 과정은 생략하도록 하겠습니다.
현재는 위 두 링크의 과정이 완료된 상태입니다.
현재 등록된 장고 이미지에 대해서 썸네일로 만들어보도록 하겠습니다.
썸네일을 만들기 위힌 pip 패키지가 몇 개 있지만 그 중에서 imagekit을 사용하겠습니다.
설치 방법은 아래와 같습니다.
pip install pillow django-imagekit
이는 새로운 앱과 같으므로 settings에 추가해줘야합니다.
여기까지 thumbnail 을 사용하기 위한 기본 조건은 모두 만족시켰습니다.
thumbnail 에 대한 새로운 model을 하나 만들어줘야합니다.
그리고 두 가지를 추가적으로 import 해주는데
thumbnail 에 만드는 필드와, 이 크기를 쉽게 조절해주는 함수입니다.
이제 image_thunbnail 이라는 변수에 필드를 지정해주었습니다.
이 ImageSpecField 는
source 를 통해 어떤 데이터를 썸네일로 만들지,
processors 와 ResizeToFill 을 사용하여 크기를 조절하게 됩니다.
그리고 format 을 사용하여 어느 확장자로 만들지 결정도 할 수 있습니다.
이제 html 파일로 넘어가 image_thumbnail 을 추가해주면
크기가 작은 썸네일 이미지를 확인할 수 있습니다.
마무리
지금은 front에 아예 신경을 안써 무의미하지만
생각해보면 thumbnail 이미지를 사용할 일이 많을 것입니다.
당장 제가 지금 진행하고 있는 프로젝트에서도 이를 요긴하게 쓰고 있으니까요.
쉽고 금방 구현할 수 있으니 잘 사용하시길 바랍니다.
'웹프로그래밍 > Django' 카테고리의 다른 글
[Django] 16. postgreSQL 사용하기! (0) | 2019.03.05 |
---|---|
[Django] 15. app 재사용하기 (2) | 2019.03.02 |
[Django] 14. API를 통한 naver 지도 사용하기 (0) | 2019.03.01 |
[Django] 13. 소셜 로그인 구현( kakao,google, fackbook 등) (10) | 2019.03.01 |
[Django] 12. form 을 알아보자 (0) | 2019.02.28 |