django裏上傳圖片的操作
阿新 • • 發佈:2017-05-28
sharp 3.4 ons dir stat get med port code
在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後臺的方式提交! 這種用的不多,在這裏也簡單說一下
django裏上傳圖片的操作