一、文件的提交和获取
一般思路为,页面中使用form元素包裹input,其中input元素的type = "file",然后form里面加个按钮就可以提交了。
然后在Django的views视图函数里面对提交的文件进行获取即可。
1、html代码:
<form action="/OnUploadFile" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input class = "row" type = "file" name = "fileUpLoad" >
<p> <button type ="submit">上传文件</button></p>
</form>
有几个注意点:
- form的action指向所提交的目标页面(可以不存在这个页面,但是在django里面要设置这个url,然后可以绑定用来处理提交数据的视图函数 如下图:)
- method必须为"post"
- enctype="multipart/form-data"不能少了
- input标签必须要把type设为"file"
- input标签必须得有name否则获取不到数据
2、django代码:
def OnUploadFile(req:"HttpRequest"):
file = req.FILES.get("fileUpLoad")#获取文件
print(file)
return HttpResponse("ok")
直接遍历file可以获得每一行的字符串:
#文件存储
fname = FileStoreName(file)
with open('./datasets/'+fname,'wb') as f :
for i in file:
f.write(i)
二、文本的提交和获取
一般采用request.POST.get(name)方法获取提交的文本:
html:
<form action="/OnUploadFile" method="post" >
{% csrf_token %}
<input class = "row" type = "text" name = "a" >
<p> <button type ="submit">提交</button></p>
</form>
urls.py:
views.py:
结果:
成功。
实际上request.GET和POST是QueryDict类型,类似于一个字典。所以也可以这样获取信息:
版权归原作者 Fighlone 所有, 如有侵权,请联系我们删除。