Django 上传文件练习
首先还是创建项目,创建一个APP,和添加APP这个就不在过多的重复说明,首先明白一点无论是上传什么格式的文件都是把文件以二进制的方式去上传
我们的视图函数是
views.py
def upload(request):
if request.method == "POST": # 判断请求
myFile = request.FILES.get("myfile", None) # 默认没有文件上传
if not myFile:
return HttpResponse("失败")
f = open(os.path.join("C:\\upload", myFile.name), 'wb') # 以二进制写入文件
for chunk in myFile.chunks(): # 分块读取
f.write(chunk) # 分块写入
f.close()
return HttpResponse("上传成功")
else:
return render(request, 'upload.html')
upload.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form enctype="multipart/form-data" action="" method="post"> # 设置二进制读文件和设置post方式
{% csrf_token %} # 防御机制
<input type="file" name="myfile"/> # 设置输入类型, 和属性名字
<br>
<input type="submit" value="上传"> 设置表键名字为提交
</form>
</body>
</html>
详情看注释
你需要在您的C盘创建一个文件夹名称为upload里面是你储存上传文件的地方