资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

在Django中使用图片的方法-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

成都创新互联主营南京网站建设的网络公司,主营网站建设方案,成都app软件开发公司,南京h5小程序设计搭建,南京网站营销推广欢迎南京等地区企业咨询

小编给大家分享一下在Django中使用图片的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

1.首先是html页面的form表单的三大属性,action是提交到哪,method是提交方式,enctype只要有图片上传就要加这个属性

   Django框架自带csrf_token ,所以需要在前端页面也生成csrf_token字符串,来验证真实客户

 
          {% csrf_token %}
          
          
      

2.如下是上传图片的接口:

def pic_upload(request):
    if request.method == "GET":
        return render(request,"helloapp/pic_upload.html",locals())
    if request.method == "POST":
        error = ""
        fp = request.FILES.get("file")
        # fp 获取到的上传文件对象
        if fp:
            path = os.path.join(STATICFILES_DIRS[0],'image/' + fp.name)   # 上传文件本地保存路径, image是static文件
            夹下专门存放图片的文件夹
            # fp.name #文件名
            #yield = fp.chunks() # 流式获取文件内容
            # fp.read() # 直接读取文件内容
            if fp.multiple_chunks():    # 判断上传文件大于2.5MB的大文件
                # 为真
                file_yield = fp.chunks()    # 迭代写入文件
                with open(path,'wb') as f:
                    for buf in file_yield:     # for情况执行无误才执行 else
                        f.write(buf)
                    else:
                        print("大文件上传完毕")
            else:
                with open(path,'wb') as f:
                    f.write(fp.read())
                print("小文件上传完毕")
            models.ImgPath.objects.create(path=('image/' + fp.name))     #  image是static文件夹下专门存放图片的文件夹
        else:
            error = "文件上传为空"
            return render(request,"helloapp/pic_upload.html",locals())
        return redirect("helloapp/pic_index/") # 重定向到首页

3.做个图片展示的页面,对图片展示对应的接口传过来的参数加以判断

   {% for img in imgs %}
        
        {% empty %}
        

您没有上传任何图片

        {% endfor %}

4.图片展示的接口:

def pic_index(request):
    imgs = models.ImgPath.objects.all()
    return render(request,'helloapp/pic_index.html',locals())

至此,Django中一个简单的图片上传到展示就做好了。

看完了这篇文章,相信你对在Django中使用图片的方法有了一定的了解,想了解更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道,感谢各位的阅读!


网页名称:在Django中使用图片的方法-创新互联
文章分享:http://cdkjz.cn/article/cddiec.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220