文件上传在web开发中是最常见的功能了, 今天主要介绍django2多文件上传。虽然网上有很多类似的教程,但是我还是要说一下在django中整个文件上传的流程。通过以下几步来介绍:
第一步:新建一个Django(版本2.x及以上)项目,然后新建一个app(我这里叫upload),目录结果如下:

第二步:在settings文件中添加app配置以及上传文件路径的配置,如下:
1.在settings中的INSTALLED_APPS 注册app(upload)
2.添加上传文件的目录配置:
MEDIA_URL ='/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
当然,这个路径你自己可以随便定义,我这里定义成‘media’
第三步: 在app(upload)中的view文件中编写函数用于上传图片和显示图片,如下:

函数写好后就是在urls里添加路由:

附上upload.html文件
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>django多文件上传
<form method="post" enctype="multipart/form-data">
{%csrf_token %}
<input type="file" name="files" multiple>
<button>开始上传
</html>
ok,运行项目就可以显示上传界面了,如下:

第四步:上传文件的逻辑处理:

附上显示图片的show.html:
<!DOCTYPE html>
<html lang="en">
<meta charset="UTF-8">
<title>显示图片
{%for image in images %}
<div><img src="{{image }}"></div>
{%endfor %}
</html>
第五步:处理图片显示问题,虽然可以上传文件了,但是图片文件却不能显示,只需要在urls做一个配置就可以了。
第六步:测试
总结:django 多图上传就完成了,看是简单,但是需要做很多工作,所以记录在这里,以便于有需要的时候方便学习和使用。喜欢我的文章记得关注我哦,以后会分享更多干货噢!