Django Admin實現(xiàn)上傳圖片校驗功能
Django 為未來的開發(fā)人員提供了許多功能:一個成熟的標準庫,一個活躍的用戶社區(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)文章
Django中針對基于類的視圖添加csrf_exempt實例代碼
這篇文章主要介紹了Django中針對基于類的視圖添加csrf_exempt實例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)
這篇文章主要介紹了Numpy中如何創(chuàng)建矩陣并等間隔抽取數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05linux環(huán)境打包python工程為可執(zhí)行程序的過程
本次需求,在ubuntu上面開發(fā)的python代碼程序需要打包成一個可執(zhí)行程序然后交付給甲方,因為不能直接給源碼給甲方,所以尋找方法將python開發(fā)的源碼打包成一個可執(zhí)行程序,本次在ubuntu上打包python源碼的方法和在window上打包的有點類似,感興趣的朋友跟隨小編一起看看吧2024-01-01python網(wǎng)絡(luò)爬蟲精解之pyquery的使用說明
PyQuery是一個類似于jQuery的解析網(wǎng)頁工具,使用lxml操作xml和html文檔,它的語法和jQuery很像。和XPATH,Beautiful Soup比起來,PyQuery更加靈活,提供增加節(jié)點的class信息,移除某個節(jié)點,提取文本信息等功能2021-09-09