一、环境的搭建
1.利用anaconda的conda create -n upload python=3.6创建一个虚拟环境。
2.在pycharm中新建一个django项目,并选择文件目录。
3.选择刚刚创建的upload虚拟环境。


然后点击“create”,就会开始安装django。
二、创建应用
1.在pycharm中执行"Tools-Run manage.py task" 菜单功能,在下边弹出的窗格中,执行“startapp fronts”新建一个应用。
2.将fronts添加到setting.py的INSTALLED_APPS里面。
三、创建模板文件
1、在template文件夹下面建立一个upload.html文件
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交">
</form>
四、配置media文件夹
1、在项目目录下,建立一个media文件夹(与template平级)
2、在settings.py中,加入以下代码
MEDIA_ROOT = os.path.join(BASE_DIR,'media')
五、views.py
from django.http import HttpResponse
from django.conf import settings
import os
# Create your views here.
def upload(request):
if request.method =="GET":
return render(request,'upload.html')
else:
file = request.FILES.get("file")
media_root = settings.MEDIA_ROOT
filepath = os.path.join(media_root,file.name)
with open(filepath,'wb') as fp:
for chunk in file.chunks():
fp.write(chunk)
return HttpResponse("文件上传成功!")
六、编写urls.py
from fronts import views
path('upload/',views.upload,name='upload')
七、测试效果
1、点击pycharm右上解的向右的小三角形,就会启动服务器。
2、会出现CSRF的错误,需要在upload文件中加入一行 {% csrf_token %}代码。这样就可以正常访问了。

上传成功的文件会放在之前建立的media文件夹中。
八、下载文件代码views.py
from django.http import HttpResponse,FileResponse
def download(request):
filename = request.GET.get('file')
filepath = os.path.join(settings.MEDIA_ROOT,filename)
fp = open(filepath,'rb')
response = FileResponse(fp)
response['Content-Type'] = 'image/jpeg'
response['Content-Disposition'] = 'attachment;filename="%s"'% filename
return response
fp.close()
九、修改urls.py
path('download/',views.download,name='download'),
最后访问,就可以看到图片成功下载了。

十、下载zip、rar文件。
下载zip文件,只需要将其中的一行代码改成:
response['Content-Type'] = 'application/zip'
就可以了。

当然,改成rar就可以下载rar文件了。