Django框架中上传图片

上传图片需要有静态文件,我们在setting中配置一下
STATICFILES_DIRS = (  os.path.join(BASE_DIR, 'static')  )

下一步

在项目中创建一个静态文件(我的命名为static) static下再建一个文件用来存储图片(我的命名为img)

在这里插入图片描述

views代码

# 导入静态文件
from 项目名.settings import STATICFILES_DIRS


def upload(request):
    if request.method=="POST":
               获取模板传来的值
        image = request.FILES.get('image')
        if image:
        		// 如果获取到值  拼接路径
            path = os.path.join(STATICFILES_DIRS[0], "img/" + image.name) 
   				// 写入图片
            with open(path,'wb') as fp:  
                fp.write(image.read())
            messages.warning(request,"成功上传")
						
            return render(request,"upload.html",locals())
        else:
        	// 如果没获取到图片信息  消息闪现一个失败
            messages.warning(request,"上传图片失败")
   
    return render(request,"upload.html",locals())

模板代码


		enctype="multipart/form-data" 编码
	    <form method="POST" enctype="multipart/form-data">
				上传图片 类型选file 
	        选择图片:<input type="file" name="image" ><br>
	        <input type="submit" value="上传">
	    </form>

				
		<head>
		如果需要展示图片   将下面这条语句配置在head标签内
          {% load staticfiles %}
   		 <title>上传图片</title>
		</head>


		显示图片语句   style给图片设置宽高   path是视图函数中拼接好的路径
      <img src="{% static path %}" style="width:400px;height:300px;">

效果如下
在这里插入图片描述

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>