在django里圖片上傳里,分為兩種一種是在django的后台上傳圖片,以數據庫的方式上傳,另一種是在html頁面以表單的方式上傳
首先要先安裝下這個包 pip install Pillow==3.4.1
setting里需要設置 上傳的路徑
MEDIA_ROOT=os.path.join(BASE_DIR,'static/media')
在model里要配置數據庫
class PicTest(models.Model):
pic=models.ImageField(upload_to='booktest')
數據庫里要有這個字段
在html 要寫input type=’file’ 這個字段
在view里要寫邏輯
還有涉及到要操作setting里的文件 需要導入設置的包
from django.conf import settings
import os
上傳的圖片都是保存在 /static/media/booktest/
接受提交的數據寫到文件里
然后對提交的數據路徑保存到 數據庫里
f1=request.FILES.get('pic1') path=os.path.join(settings.MEDIA_ROOT,'booktest',f1.name) with open(path,'w') as pic: for p in f1.chunks(): pic.write(p) #保存數據記錄到數據庫里 pic1=PicTest() pic1.pic='booktest/%s'%f1.name pic1.save() return HttpResponse('ok')
在顯示圖片的時候 view.py get得到數據庫里的路徑地址
這里要注意 要是使用的all的方式獲取的話 在html里就需要使用循環的方式來顯示圖片
然后在html <img url= "/static/media/{{p.pic}}
第一種以django后台的方式提交! 這種用的不多,在這里也簡單說一下