1. 程式人生 > >Django後臺獲取前端post上傳的檔案

Django後臺獲取前端post上傳的檔案

由於初學Django所以對於其特有的表單模板和models中的filefiled並不是特別熟悉。因此在本次開發中還是依照以往自己在html中寫好圖片提交表單:



注意在<form>表單的定義中一定要加上enctype= “multipart/form-data"屬性,否則後臺可能會取不到檔案。

在form表單後一定要有{% csrf_token %}

我們在控制頁面可以看到,當我們通過這樣的表單進行提交後,FILES一欄中會有一個檔案。



我們可以在views.py中通過

image=request.FILES.get('images')去獲取到該圖片



 當我們獲取到圖片img後,可以通過

image.name 獲取到圖片的名字

image.size獲取到圖片的大小

image.read()可以獲取圖片內容

通過

path=default_storage.save(路徑,ContentFile(image.read()))

tmp_file = os.path.join(settings.MEDIA_ROOT,path)

及可以把圖片從快取中儲存到相應路徑下




我們可以看到很上傳的額圖片已經直接能夠儲存在設定的目錄當中了


最後再將對應的路徑放入資料庫中,就可以完成引用了。