Django框架下的form表单提交数据(及文件)获取的方法
2023-09-11 14:20:51 时间
目录
一、文件的提交和获取
一般思路为,页面中使用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类型,类似于一个字典。所以也可以这样获取信息:
相关文章
- Django中图形验证码(django-simple-captcha)
- Django 部署时得到 Bad Request (400)(DEBUG = False)
- django之创建第7-3个项目-在站点blog下单独创建urls.py文件
- django之创建第2个项目
- django之环境变量配置
- 『Python-Django 智慧中医健康数字服务平台』开源项目总览
- Django 4.x File文件上传使用示例和配置方法
- python 之django (一) Windows环境下Django 1.6.11开发环境搭建(简易版)
- Django-Web框架之视图使用
- Django电商项目---完成商品搜索页面day6
- Django:model.save()的时候在干什么
- Django 项目笔记
- Django+Vue项目学习第四篇:使用axios发送携带参数的get请求
- Django+Vue项目学习第一篇:django后台搭建
- django中配置允许跨域请求
- 解决 django.db.utils.OperationalError: (1051, "Unknown table 'mydorm.users_studen t'")
- Django开发示例配置及系列常见错误,如:AttributeError: module 'django.core.serializers.json' has no attribute 'loads'
- Django之中间件(二十)
- Django之模板HTML转义(十五)
- Django之模型类数据库操作(八)