文本框 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