表单(form)标签

1、表格标签

当我们需要带网页中显示如下数据时,直接显示感觉不太好,需要加个表格

jason 123 read
egon	123 dbj
tank  123 hecha
<table>
    <thead> 
		<tr>  一个tr就表示一行
            <th>username</th>  加粗文本
            <th>password</th>
            <td>username</td>  正常文本
        </tr>
	</thead>  表头(字段信息)
    <tbody>
    		<tr>   一行数据
            <td>jason</td>
            <td>123</td>
            <td>read</td>
        </tr>
    </tbody>	表单(数据信息)
</table>


<table border="1">  加外边宽
<td colspan="2">egon</td>  水平方向占多行
<td rowspan="2">DBJ</td>   垂直方向占多行

# 原生的表格标签很丑 但是后续我们一般都是使用框架封装好的 很好看

2、表单标签

"""
能够获取前端用户数据(用户输入的、用户选择、用户上传...)基于网络发送给后端服务器
"""
# 写一个注册功能
<form action=""></form>  在该form标签内部书写的获取用户的数据都会被form标签提交到后端

	action:控制数据提交的后端路径(给哪个服务端提交数据)
	  	1.什么都不写  默认就是向当前页面所在的url提交数据
	    2.写全路径:https://www.baidu.com  朝百度服务端提交
	    3.只写路径后缀action='/index/'  
	    	自动识别出当前服务端的ip和port拼接到前面
	      host:port/index/

<label for="d1">  第一种 直接将input框写在label内
       username:<input type="text" id="d1">
</label>
<label for="d2">password:</label> 第二种 通过id链接即可 无需嵌套
<input type="text" id="d2">
ps:input不跟label关联也没有问题
  
"""
label 和 input都是行内标签
"""

input标签 就类似于前端的变形金刚  通过type属性变形
		text:普通文本
  	password:密文
		date:日期	
  	  submit:用来触发form表单提交数据的动作(生成一个提交按钮)
  	  button:就是一个普普通通的按钮 本身没有任何的功能 但是它是最有用的,学完js之后可以给它自定义各种功能
  	   reset:重置内容(将当前页面数据清空)
  	   radio:单选(多选一) 默认选中要加checked='checked'
      		<input type="radio" name="gender" checked='checked'>男
       		当标签的属性名和属性值一样的时候可以简写
      		<input type="radio" name="gender" checked>女
	checkbox:多选(多选多)
  			<input type="checkbox" checked>DBJ
  
  	   file:获取文件  也可以一次性获取多个
    		<input type="file" multiple>
  	 hidden:隐藏当前input框
    		钓鱼网站常用属性
      	
select标签 默认是单选 可以加mutiple参数变多选 默认选中selected
				<select name="" id="" multiple>
                <option value="" selected>新垣结衣</option>
                <option value="" selected>斯佳丽</option>
                <option value="">明老师</option>
            </select>

textarea标签  获取大段文本
	  <textarea name="" id="" cols="30" rows="10"></textarea>

# 能够触发form表单提交数据的按钮有哪些(一定要记住)
		1<input type="submit" value="注册">
		2<button>点我</button>
    
# 所有获取用户输入的标签 都应该有name属性
	name就类似于字典的key
  用户的数据就类似于字典的value
  <p>gender:
            <input type="radio" name="gender"><input type="radio" name="gender"><input type="radio" name="gender">其他
  </p>

3、验证form表单提交数据

# 接下来的框架代码无需掌握  看一下效果即可
pip3 install FLASK

form表单默认提交数据的方式 是get请求  数据是直接放在url后面的
	http://127.0.0.1:5000/index/?username=sdadasdsda&gender=on
你可以通过method指定提交方式
	<form action="http://127.0.0.1:5000/index/" method="post">
  
针对用户选择的标签 用户不需要输入内容 但是你需要提前给这些标签添加内容value值
<p>gender:
            <input type="radio" name="gender" value="male"><input type="radio" name="gender" checked value="female"><input type="radio" name="gender" value="others">其他
</p>
<p>hobby:
            <input type="checkbox" name="hobby" value="basketball">篮球
            <input type="checkbox" checked name="hobby" value="football">足球
            <input type="checkbox" checked name="hobby" value="doublecolorball">双色球
</p>
<p>province:
            <select name="province" id="">
                <option value="sh">上海</option>
                <option value="bj" selected>北京</option>
                <option value="sz">深圳</option>
            </select>
</p>



"""
form表单提交文件需要注意
	1.method必须是post
	2.enctype="multipart/form-data"
		enctype类似于数据提交的编码格式
			默认是urlencoded 只能够提交普通的文本数据
			formdata 就可以支持提交文件数据
"""
<form action="http://127.0.0.1:5000/index/" method="post" enctype="multipart/form-data">


"""下面的代码无需掌握 你只需要关心form表单即可"""
from flask import Flask, request


app = Flask(__name__)


# 当前url既可以支持get请求也可以支持post请求  如果不写默认只能支持get请求
@app.route('/index/',methods=['GET','POST'])
def index():
    print(request.form)  # 获取form表单提交过来的非文件数据
    # ImmutableMultiDict([('username', 'jason'), ('password', '123132131231233'), ('gender', 'on')])
    print(request.files)  # 获取文件数据
    file_obj = request.files.get('myfile.png')
    file_obj.save(file_obj.name)
    return 'OK'

app.run()


# 针对用户输入的标签。如果你加了value 那就是默认值
<label for="d1">username:<input type="text" id="d1" name="username" value="默认值"></label>
disable 禁用
readonly只读
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值