Django的文件上传以及中间键

本文详细介绍了在Django中如何实现图片上传,包括模型设计、表单处理和自定义文件上传的步骤。同时,文章还深入讨论了Django的中间键Middleware的使用,列出process_request和process_exception等关键方法的应用。
摘要由CSDN通过智能技术生成

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获取的值即可,
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值