利用Django实现文件上传
一、form表单的形式上传文件
1、路由
urlpatterns = [ path("upload/", views.UploadView.as_view(),) ]
2、视图
from django.views import View class UploadView(View): def get(self,reqeust): return render(reqeust,"index.html") #get请求时,返回一个HTML页面 def post(self,reqeust): put_file = reqeust.FILES.get("put_file") #上传文件的post请求时,获取文件内容-->putfile print(put_file.name) #打印文件名 with open(put_file.name,"wb") as f: #将文件内容写入到文件中保存 for line in put_file: f.write(line) return HttpResponse("上传成功!") #返回结果提示
3、模板index.html
{#提交文件时,必须设置为这个参数:enctype="multipart/form-data"#}基于form表单的文件上传
二、Ajax的形式上传文件
1、后端代码和form表单上传的形式一样
2、前端代码:
基于Ajax的文件上传
{# 上传成功后的提示信息显示位置 #}