实现图片上传的方法
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)