Django学习笔记(十一):上传图片

实现图片上传的方法

1,在models.py中新建模型中添加icon属性字段,使用models.imageField

2,前端相应操作

from表单上传文件需要添加enctype='multipart/form-data'

文件上传必须使用POST请求方式

至少要包含一个类型是file的input标签

3,后端相应操作

在static文件夹下创建uploadefiles用与存储接收上传的文件

在settings中配置,MEDIA_ROOT=os.path.join(BASE_DIR,r'static/uploadefiles')

拿文件 给对象赋值

@login_required(login_url="/homework/login")
def updata_msg(req):
    user = req.user
    if req.method == 'GET':
        data = {
            'name':user.username,
            'icon':"/static/uploads/" + user.icon.url
        }
        return render(req,'icon.html',data)
    else:
        #拿文件
        icon = req.FILES['u_icon']
        #保存头像
        user.icon = icon
        user.save()
        #拼接返回数据
        data = {
            'name':user.username,
            'icon':"/static/uploads/" + user.icon.url
        }
        return render(req,'icon.html',data)

猜你喜欢

转载自blog.csdn.net/xiaohuoche175/article/details/81282285