• 1404/02/20

ذخیره تصویر در سایزهای مختلف در جنگو :

سلام استاد خسته نباشید یه سوال داشتم من چطوری میتونم یه تصویر رو با استفاده از fileField یا imageField بگیرم بعد تصویر رو در سایزهای مختلفی ذخیره کنم میدونم که این کار رو میشه با pillow انجام داد ولی نمیدونم چطوری خیلی تلاش کردم ولی نشد. لطفا راهنمایی کنید.

  • 1404/02/21
  • ساعت 23:31

سلام اقا محمد هکر بطور کلی روش های زیادی برای این کار وجود داره میتونید در پنل ادمین یا در سورس کد هاتون اینکارو بکنین روش حرفه ای تر هم اینه از سیگنال استفاده کند هنگام ثبت در پنل بلافاصله به سایز مورد نظر شما تبدیل میشه 

نمنه کد پایین برای سیو در سایز های مختلف با پکیج ها قدرتمند برای حفظ کیفیت تصاویر 

البته استاد ببخشید که بجای شما جواب دادم (:

 


 original_image = models.ImageField(
        upload_to='about/original/%Y/%m/',
        verbose_name='تصویر اصلی',

    )

   

    # نسخه بهینه‌شده با کیفیت بالا

    optimized_image = ImageSpecField(

    source='original_image',

    processors=[ResizeToFit(232, 232)],

    format='JPEG',

    options={

        'quality': 100,

        'optimize': True,

        'progressive': True,  # اختیاری

    }

)

   

    # نسخه thumbnail

    thumbnail = ImageSpecField(

        source='original_image',

        processors=[ResizeToFill(200, 200)],

        format='WEBP',

        options={

            'quality': 100,  # کیفیت مناسب برای thumbnail

            'optimize': True

        }

  • 1404/02/22
  • ساعت 13:47

سلام خدمت شما دوست عزیز

اقای قربانی عزیز زحمت کشیدن به درستی پاسخ دادن

شما میتونین از ترکیب پکیج ها و signal های جنگو این کار رو به راحتی انجام بدین

پکیج هایی که میتونین استفاده کنین : easy-thumbnail و sorl-thumbnail

من به شخصه از sorl-thumbnail استفاده میکنم


  • 1404/02/22
  • ساعت 16:56

خواهش میکنم استاد هرچی یاد گرفتم به لطف شما بوده با تدریس دقیقتون 


  • 1404/02/23
  • ساعت 07:54

نظر لطف شما هستش

موفق باشین :)


logo-enamadlogo-samandehi