首頁  >  文章  >  後端開發  >  Django Admin實作上傳圖片校驗功能介紹

Django Admin實作上傳圖片校驗功能介紹

高洛峰
高洛峰原創
2017-03-07 16:02:501696瀏覽

 Django 為未來的開發人員提供了許多功能:一個成熟的標準庫,一個活躍的用戶社區,以及 Python 語言的所有好處。雖然其他 Web 框架也聲稱能提供相同的內容,但 Django 的獨特之處在於它內建了管理應用程式 —— admin。

admin 提供了開箱即用的進階 Create-Read-Update-Delete (CRUD) 功能,減少了重複工作所需的時間。這是許多 Web 應用程式的關鍵所在,程式設計師可以在開發時快速瀏覽他們的資料庫模型;非技術最終用戶可以在部署時使用 admin 新增和編輯網站內容。

我的 models裡有個ImageField字段,用來保存用戶頭像,希望透過Django Admin上傳時校驗頭像大小,如果太大就報錯,並且不保存。

網路上有不少方法,有的透過第三方軟體實現,有的透過自己寫form驗證,我覺得太複雜了,本身的要求也不高,只想要最簡單的方法。

下面的方法是透過覆寫admin.ModelAdmin 的save_model()來校驗圖片大小,如果圖片大於20K,就報錯且不儲存:

##

from django.contrib import messages
class YourModeAdmin(admin.ModelAdmin):
...
def save_model(self, request, obj, form, change):
#不保存大图片
if obj.picture and obj.picture.size > 20480:
messages.set_level(request, messages.ERROR)
messages.error(request, 'The picture\'s too large. It\'s supposed smaller than 20K.')
else:
obj.save()

最後show一下實現好的django網站,感謝andrew liu 的線上教學:

Django Admin实现上传图片校验功能介绍

以上內容介紹了Django Admin實作上傳圖片校驗功能的相關知識,希望對大家以上幫忙!

更多Django Admin實作上傳圖片校驗功能介紹相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn