django里上傳圖片的操作


 

在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后台的方式提交! 這種用的不多,在這里也簡單說一下

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM