网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

在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://bjjierui.cn/article/cddiec.html

其他资讯