django_models_檔案上傳和圖片上傳
阿新 • • 發佈:2019-02-17
1、檔案上傳
欄位名——》fileField(upload_to='【路徑】',max_length=100) 實際儲存的是一個字串型別的路徑,真實的檔案儲存在伺服器檔案系統
重要引數upload_to.是一個路徑名,如果不存在則會自動建立
使用技巧:
1、可以自動生成日期格式的路徑名譬如:upload=models.FileField(upload_to='upload/%Y/%m/%d')
2、接收一個回撥函式
def a(b,c):
return ('user_{}/{}'.format(b,c))
upload=models.FileField(upload_to=a)
2、圖片上傳
欄位名ImageFied(upload_to='[路徑]',height_field=500,width_field=500,max_lenght=100) 用法與檔案上傳(FileField)類似,但多出兩個可選引數heigth_field和width_field,代表上傳後圖片的尺寸(自動縮放)
注意事項:在使用ImageField之前需要其他模組支援pillow模組
前期的設定工作:
1、需要先配置settings檔案,設定檔案系統的跟路徑。MEDIA_ROOT='[路徑]'。還需要配置使用時的URL路徑MEDIA_URL='[路徑]'
2、html使用:像正常呼叫欄位名比如{{【類例項】.[檔案欄位].url}}
3、還可以通過【類例項】.【檔案欄位】.name/size 獲取檔名或者檔案大小