Django 文件上传
步骤一定要全部都有!!!
1.setting设置
# BASE_DIR 相当于 后面的相对路径 是相对与 manage.py
# app名/静态文件名/文件储存文件夹名
MEDIA_ROOT = os.path.join(BASE_DIR, 'App_web_first/static/upload')
MEDIA_ROOT = '/media/'
2.models设置
# upload_to 为必填参数 相对于 setting中设置的路径 去存储
# 储存在 步骤1 的 upload 文件夹下
filename = models.FileField(upload_to='zip_file')
filename = models.ImageField(upload_to='zip_file')
3.views设置
# 需要前端 的input标签 type="file"
# 从请求中获得 文件
filename = request.FILES.get('filename')
# 创建对应的类
email_information = Email()
email_information.file = filename
# 保存后自动下载 文件到达设置的路径中 数据库中存储的只是路径
email_information.save()
4.html设置
enctype="multipart/form-data" 一定要加上 目的是将文件打碎上传(更加安全高效)
<form action="{% url 'fileupload' %}" method="post" enctype="multipart/form-data">
file 代表文件 type要改正对
<input type="file" name="filename">
</form>