Django 获取 Form 表单数据

文本框 text

<input type="text" name="username" />

获取文本框中输入的文本 --username --> 输入的内容

username = request.POST.get('username',None)

得到的内容为:输入到文本框的值

文本域 textarea

<textarea name=“textarea”> 默认值</textarea>

获取文本域中输入的文本 --textarea --> 输入的内容 返回字符串

textarea = request.POST.get('textarea',None)

单选框 radio

男:<input type="radio" name="gender" value="0" checked />
女:<input type="radio" name="gender" value="1" />

获取单选框选择的数据--> gender value

gender = request.POST.get('gender',None)

得到的内容为:value的值 0 或 1

**多选框 checkbox **

python:<input type="checkbox" name="favor" value="0" checked  />
mysql:<input type="checkbox" name="favorr" value="1" />
java:<input type="checkbox" name="favorr" value="1" />

注意:获取多选框即多个值用 getlist

favorr = request.POST.getlist('favorr',None)

注意:如果选择多项内容,返回1个列表 ['0','1']

单选下拉菜单 select

 <select name="city">
            <option value="bj" selected>北京</option>
            <option value="sh">上海</option>
            <option value="sz">深圳</option>
</select>

获取的内容为对应的 value,返回1个字符串

city = request.POST.get('city')

多选下拉菜单 select multiple

 <select name="city" multiple>
            <option value="bj">北京</option>
            <option value="sh">上海</option>
            <option value="sz">深圳</option>
</select>

获取的内容为对应的 多个 value,返回1个列表

city = request.POST.getlist('city')

**获取上传的文件名 file **

 <input type="file" name="files"/>

可使用: request.POST.get('files') #只能拿到文件名

一般推荐使用 request.FILES

此时 <input type='file'> 父级 <form> 标签需要加上 enctype="multipart/form-data"

multipart/form-data :把input 标签的内容放到 POST 里面,把 文件放到 FILES里面

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="files"/>
</form>

注意:request.FILES 返回 django.core.files.uploadedfile.InMemoryUploadedFile 对象 ,所以 不要对返回结尾 进行字符串拼接

file = request.FILES.get('files')

仅仅 pint( file) 得到 文件名,如:a.png,因为该类重写了__repr__方法,但它其实是1个对象

具体可查看 from django.core.files.uploadedfile import InMemoryUploadedFile 中的 InMemoryUploadedFile 类

如果只想得到 文件名,一般使用 file.name

转载于:https://my.oschina.net/esdn/blog/894239

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值