1. 程式人生 > >django裏上傳圖片的操作

django裏上傳圖片的操作

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裏上傳圖片的操作