1. 程式人生 > >django_models_檔案上傳和圖片上傳

django_models_檔案上傳和圖片上傳

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 獲取檔名或者檔案大小