Django Admin實現(xiàn)上傳圖片校驗功能
Django 為未來的開發(fā)人員提供了許多功能:一個成熟的標(biāo)準(zhǔn)庫,一個活躍的用戶社區(qū),以及 Python 語言的所有好處。雖然其他 Web 框架也聲稱能提供同樣的內(nèi)容,但 Django 的獨特之處在于它內(nèi)置了管理應(yīng)用程序 —— admin。
admin 提供了開箱即用的高級 Create-Read-Update-Delete (CRUD) 功能,減少了重復(fù)工作所需的時間。這是許多 Web 應(yīng)用程序的關(guān)鍵所在,程序員可以在開發(fā)時快速瀏覽他們的數(shù)據(jù)庫模型;非技術(shù)最終用戶可以在部署時使用 admin 添加和編輯站點內(nèi)容。
我的 models里有個ImageField字段,用來保存用戶頭像,希望通過Django Admin上傳時校驗頭像大小,如果太大就報錯,并且不保存。
網(wǎng)上有不少方法,有的通過第三方軟件實現(xiàn),有的通過自己寫form驗證,我覺得太復(fù)雜了,本身的要求也不高,只想要最簡單的方法。
下面的方法是通過覆蓋 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一下實現(xiàn)好的django網(wǎng)站,感謝 andrew liu 的在線教程:

以上內(nèi)容給大家介紹了Django Admin實現(xiàn)上傳圖片校驗功能的相關(guān)知識,希望對大家以上幫助!
相關(guān)文章
Python自動打印被調(diào)用函數(shù)變量名及對應(yīng)值?
這篇文章主要介紹了Python自動打印被調(diào)用函數(shù)的變量名及對應(yīng)的值,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價,需要的朋友可以參考一下?2022-07-07
TensorFlow2.0使用keras訓(xùn)練模型的實現(xiàn)
這篇文章主要介紹了TensorFlow2.0使用keras訓(xùn)練模型的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
python3實現(xiàn)用turtle模塊畫一棵隨機櫻花樹
今天小編就為大家分享一篇python3實現(xiàn)用turtle模塊畫一棵隨機櫻花樹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11

