表单用于向服务器传输数据。
表单能够包含input元素;比如文本字段、复选框、单选框、提交按钮等。
表单还可以包含textarea、select、fieldset和label元素。
HTML表单用于接收不同类型的用户输入,用户提交表单时1向服务器传输数据,从而实现用户与web服务器的交互。表单标签,要提交的所有内容都应该在该标签中。
action:表单提交到哪? 一般指向服务器端一个程序,程序接收到表单提交过来的数据(及表单元素值)作相应的处理,比如http://www.sohou.com/web
method:表单的提交方式post/get默认取值就是get(信封)
get:1、提交的键值对放在地址栏url后面
2、安全性相对较差
3、对提交内容的长度有限制
post: 1、提交的键值对不在地址栏
2、安全性相对较高
3、对提交的内容长度理论上没有限制
get/post是常见的两种请求方式。
类型(type):text 文本输入框 password 密码输入框 radio 单选框
checkbox 多选框 submit 提交按钮 button 按钮(需要配合js使用) file 提交文件:form表单需要加上属性 enctype=“multipart/form-data”
name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和js中使用的。
value:表单提交项的值,对于不同的输入类型,value属性的用法也不同。
type="button","reset","submit"---定义按钮上的显示的文本
type="text","password","hidden"--定义输入字段的初始值
type="checkbox","radio","image"--定义与输入相关联的值
checked: radio和checkbox默认被选中
readonly: 只读text和password
disabled: 对所用input都好使
上传文件注意两点:
1、请求方式必须是post
2、enctype=“multipart/form-data”
下载文件
def index(request):
print request.POST
print request.GET
print request.FILES
for item in request.FILES:
fileObj = request.FILES.get(item)
f = open(fileObj.name,'wb')
iter_file = fileObj.chunks()
for line in iter_file:
f.write(line)
f.close()
return HttpResponse('OK')
eg:举例
<html>
<head>
<title>wzqtitle>
head>
<body>
<h1>注册页面h1>
<form action="发送/处理 数据的路径" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="username" placeholder="用户名">br>
密码:<input type="password" name="password" placeholder="密码">br>
爱好: 音乐<input type="checkbox" name="hobby" value="1">电影<input type="checkbox" name="hobby" value="2">br>
性别: 男<input type="radio" name="xb" value="man">女<input type="radio" name="xb" value="woman">br>
<input type="file" name="wenjian">br>
<input type="submit" value="提交注册">br>
<input type="reset" value="重置">br>
form>
body>
html>
name:表单提交项的键 size:选项个数 multiple:多选
eg:1、
<html>
<head>
<title>下拉框title>
head>
<body>
省<select name="province" multiple size="2">
<option value="shanxi" selected>陕西option>
<option value="henan">河南option>
<option value="jiangxi">江西option>
<option value="shandong">山东option>
select>
body>
html>
eg:2、分组
<html>
<head>
<title>下拉框title>
head>
<body>
国<select name="province">
<optgroup label="中国">
<option value="shanxi" selected>陕西option>
<option value="henan">河南option>
<option value="jiangxi">江西option>
<option value="shandong">山东option>
optgroup>
select>
body>
html>
name:表单提交项的键 cols:文本域默认有多少列 rows:文本域默认有多少行
eg:
简介<textarea name="desc" rows="5" cols="5">textarea>
<label for="wzq">用户名label>
<input id="wzq" type="text" >
#当for和id相等时,两句关联
<fieldset>
<legend>登陆吧legend>
<input type="text">
fieldset>