Django ImageKit

tutorial

#1

با سلام خدمت دوستان چندی پیش برای یکی از مشتریانم وب اپلیکیشنی راه اندازی کرده بودم و به دلیل عدم آگاهی مشتری از ابعاد اندازه و حجم عکس برای ارسال مطلب دچار مشکلاتی از قبیل کند شدن عملکرد به خاطر حجم عکسها و بهم ریختگی ظاهر به خاطر عدم رعایت ابعاد عکس . ابتدا سعی کردم به اضافه کردن مقادیر مشخص برای ابعاد این مشکلو رفع کنم ولی همچنان مشکل حجم عکس پا برجا بود ، با پکیجی به اسم Django ImageKit آشنا شدم که مناسب نیاز من بود یعنی عکس رو می‌گرفت و نسخه بریده شده و بهینه شده رو برمیگردوند .

68747470733a2f2f7261772e6769746875622e636f6d2f6e696e617061766c6963682f646a616e676f2d696d6167656b69742d63726f707065722f6d61737465722f646f63732f73637265656e73686f74732f63726f705f73637265656e73686f742e706e67

طریقه نصب

  1. اگر از ImageField در جنگو استفاده میکنید باید Pil یا Pillow رو نصب کنید
  2. pip install django-imagekit
  3. اضافه کردن imagekit به INSTALLED_APPS در فایل تنظیمات

مثال

rom django.db import models
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill

class Profile(models.Model):
    avatar = models.ImageField(upload_to='avatars')
    avatar_thumbnail = ImageSpecField(source='avatar',
                                      processors=[ResizeToFill(100, 50)],
                                      format='JPEG',
                                      options={'quality': 60})

profile = Profile.objects.all()[0]
print profile.avatar_thumbnail.url    # > /media/CACHE/images/982d5af84cddddfd0fbf70892b4431e4.jpg
print profile.avatar_thumbnail.width  # > 100

اطلاعات بیشتر در مستندات :

https://django-imagekit.readthedocs.io/en/latest/