利用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的文件上传
{# 上传成功后的提示信息显示位置 #}