内容详情 您现在的位置是: 首页> Python
python搭建django的web项目中 html上传文件
发布时间:2020-12-05 19:30 已围观:3002
摘要python搭建django的web项目中 html上传文件
python项目django web html上传文件
一.html文件(文件名为upfile.html)
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>python</title>
</head>
<body>
<form method="POST" action="/uploadfile/" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="提交" />
</form>
<p> {{title}}</p>
</body>
</html>
说明:
1、表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作.
2、method="post"文件上传的方式必须为POST方式
3、type="file"类型为文件域
二、、在myApp/url.py中添加配置url
urlpatterns = [
...,
url('upfile/', views.upfile),
url('uploadfile/', views.uploadfile),
]
三、在myApp/views.py文件中定义视图
def uploadfile(request):
if request.method == 'POST':
f = request.FILES['file']#upfile的html文件中命名的名字
#合成文件在服务器端存储的路径
filePath = os.path.join(settings.MEDIA_ROOT, f.name)
with open(filePath, 'wb') as fp:
for info in f.chunks():#因为文件f的大小并不确定,所以要调用f.chunks()的方法来以文件流的方式一段一段的接收
fp.write(info)
#读取文件内容
with open(filePath, "r") as fff: # 打开文件
data = fff.read() # 读取文件
context = {}
context['title'] = ''
context['image'] = ''
context['show'] = 'none'
context['textarea'] = data
return render(request, 'myform.html', context)
else:
context = {}
context['title'] = ''
context['image'] = ''
context['show'] = 'none'
context['textarea'] = 'error'
return render(request, 'myform.html', context)
def upfile(request):
context = {}
context['title'] = 'upfile Test '
return render(request, 'formupload.html', context)
感谢大佬文章 https://blog.csdn.net/weixin_44387495/article/details/95589379
声明:本文内容摘自网络,版权归原作者所有。如有侵权,请联系处理,谢谢~
转发:https://blog.csdn.net/weixin_44387495/article/details/95589379
赞一个 (7)
上一篇: python搭建Web需要的环境配置