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后台的方式提交! 这种用的不多,在这里也简单说一下

 

posted @ 2017-05-28 00:20  严恩娜  阅读(4022)  评论(0编辑  收藏  举报