Django 實現(xiàn)前端圖片壓縮

思路:

<img alt="" src="/img/圖片真實地址" ></img>

上面是一個典型的HTML中的圖片,在django中,src對應的path會經(jīng)過url進行過濾處理,所以可以通過寫view過濾器的方式來實現(xiàn)圖片壓縮,代碼如下
url

url(r'^img/(?P<path>(.+))/$',img),

view

def img(request,path):
    im=Image.open(settings.STATIC_ROOT+path)
    x,y=im.size
    im=im.resize((int(x/1.5),int(y/1.5)),Image.ANTIALIAS)
    response = HttpResponse(mimetype="image/png")
    #將PIL的image對象寫入response中,通過response返回
    im.save(response, "PNG")
    return response

結(jié)論:通過類似于filter的方法可以實現(xiàn)圖片壓縮,且下一個請求該圖片時,會直接調(diào)用緩存,并不會再次進行圖片壓縮。
注:對性能的影響會在驗證完成后上傳

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容