Django框架下的form表单提交数据(及文件)获取的方法

目录

一、文件的提交和获取

1、html代码:        

2、django代码:

二、文本的提交和获取

html:

urls.py:

​编辑 views.py:

​编辑

 结果:


一、文件的提交和获取

        一般思路为,页面中使用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类型,类似于一个字典。所以也可以这样获取信息:

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咖啡咖_CoffCa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值