Django/INSTA

[Django] 장고 Image 크기, 비율 조절(Resized) - 인스타 클론코딩

씨주 2024. 1. 19. 13:28

📍Image 크기, 비율 조절(Resized)

resize 기능을 위해서 django-resized를 설치한다.

pip install django-resized

 

모델링해뒀던 ImageField 대신 ResizedImageField로 수정했다.

기존 사진의 비율을 유지할 수 없을 때 crop을 이용하여 사진을 어떤식으로 자를지 설정해줄 수 있다.

from django_resized import ResizedImageField

class Post(models.Model):
    content = models.TextField()
    create_at = models.DateTimeField(auto_now_add=True)
    update_at = models.DateTimeField(auto_now=True)
    # image = models.ImageField(upload_to='image/%Y/%m')
    image = ResizedImageField(
        size=[500, 500],
        crop=['middle', 'center'],
        upload_to='image/%Y/%m'
    )

 

모델이 바뀌었기 때문에 마이그레이션을 다시 해야 한다!

마이그레이션을 다시해주면 사진 크기도 줄고 비율(1:1)도 달라진 것을 확인할 수 있다.