在Django中使用图片的方法

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

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都网站制作、网站设计、外贸网站建设服务,我们努力开拓更好的视野,通过不懈的努力,创新互联建站赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,微信小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

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://ybzwz.com/article/jcocco.html