1、图片的上传
案例:用户注册图片上传
1、设计模型
u_name 用户名
u_age 密码
u_img 头像
# 保存头像--本质上保存的是文件的路径
# 目录:static/upload/icon
# upload_to 表示指定图片上传的相对路径名,及文件上传的额路径的前缀
class User(models.Model):
u_name = models.CharField(max_length=50)
u_age = models.IntegerField(default=17)
u_img = models.ImageField(upload_to='icon')
注意:上传目录需要配置后才能使用
1、在static目录下创建文件上传放置目录upload
2、在setting中配置
在setting的后面追加:
MEDIA_ROOT = os.path.join(BASE_DIR,'static/upload')
2、表单
1、上传文件的标签:
头像:<input type="file" name="img">
2、表单提交需要用post请求,还需要设置数据的编码类型
<form action="{% url 'doimgupload' %}" method="post" enctype="multipart/form-data">
3、服务器处理:
1、文件的接收
# 获取文件数据
data = request.FILES.get("key")
2、保存到数据库
user.u_img = data 直接设置file获取的值即可,