Python自学第十四周(1)

Day14

首先了解一下socket与浏览器
 1 #Author: Zachary
 2 import socket
 3  
 4 def handle_request(client):
 5     buf = client.recv(1024)
 6     client.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding = "utf-8"))
 7     client.send(bytes("Hello, Seven",encoding = "utf-8"))
 8  
 9 def main():
10     sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
11     sock.bind(('localhost', 8000))
12     sock.listen(5)
13     while True:
14         connection, address = sock.accept()
15         handle_request(connection)
16         connection.close()
17  
18 if __name__ == '__main__':
19     main()
 
运行之后,在浏览器中输入localhost:8000
返回以下页面
HTML入门
编写Html文件
    -doctype对应关系
    -html标签,标签内部可以写属性  只能有一个html标签
    -注释:   <!-- 注释的内容 -- >
 
 
Head标签
 
标签分类
    -自闭合标签   <meta charset="UTF-8">
    -主动闭合标签   <head></head>
 
刷新和跳转
<meta http-equiv="Refresh" content="3">      <!-- 3秒刷新一次-->
<meta http-equiv="Refresh" content="3;Url=http://www.bilibili.com">     <!--自动跳转-->
 
关键词和描述
<meta name="keywords" content="***,***,***">
<meta name="description" content="*********">
 
title标签
link标签  -搞图标
style标签
script标签
 
 
body标签
 
&nbsp; 空格
&gt;    >
&lt    <
 
p标签  -段落
<p>***</p>
 
br标签  -换行
<br>  或者  <br />  推荐
 
h1\h2\h3\h4\h5\h6标签
标题,1最大,6最小
 
span标签

小总结
所有标签分为:
    -块级标签:h系列(加大加粗),p标签(段落间有间距),div标签(白板)
    -行内标签:span(白板,不带特性)
标签之间可以嵌套
标签存在的意义,css操作,js操作
chrome检查
    -定位
    -查看样式
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <a href="http://www.baidu.com">&nbsp;&nbsp;&lt;&gt;</a>
 9     <p>这是一个p标签</p>
10     <br/>
11     <h1>h1</h1>
12     <h2>h2</h2>
13     <h3>h3</h3>
14     <h4>h4</h4>
15     <h5>h5</h5>
16     <h6>h6</h6>
17     <span>span</span>
18     <span>span</span>
19     <span>span</span>
20     <span>span</span>
21     <div>1</div>
22     <div>2</div>
23     <div>3</div>
24 </body>
25 </html>
 
 
 
form标签  可以通过form标签的action去获取用tornodo框架编写的程序
input标签
来一个实例,这块使用到了tornado
 
app.py
 1 #Author: Zachary
 2 import tornado.ioloop
 3 import tornado.web
 4  
 5 class MainHandler(tornado.web.RequestHandler):
 6     def get(self):
 7         print(111)
 8         u = self.get_argument("user")
 9         p = self.get_argument("pwd")
10         if u == "zach" and p == "123123":
11             self.write("OK")
12         else:
13             self.write("您错了")
14     def post(self,*args,**kwargs):
15         u= self.get_argument("user")
16         p = self.get_argument("pwd")
17         print(u,p)
18         self.write("POST")
19  
20 application = tornado.web.Application([
21     (r"/index", MainHandler),
22 ])
23 if __name__ == "__main__":
24     application.listen(8888)
25     tornado.ioloop.IOLoop.instance().start()
 
 
s3.html
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <form action="http://localhost:8888/index">
 9         <input type="text" name="user"/>
10         <input type="password" name="pwd"/>
11         <input type="submit" value="登录"/>    <!--会提交当前这个表单-->
12     </form>
13     <br />
14     <form>
15         <input type="text"/>
16         <input type="password"/>
17         <input type="button"/>
18         <input type="button" value="登录1"/>
19         <input type="submit" value="登录2"/>    <!--会提交当前这个表单-->
20     </form>
21 </body>
22 </html>
 
之后运行html输入用户名密码
正确的话
错误的话
 
但是默认的form中method属性是get,在结果中会在url上体现出用户名密码的提交
 
如果改成post
提交的时候不会在url上显示出来
并且pycharm的运行结果也会有
 
 
 
 
input系列
    <input type="text" name="user"/>
    <input type="password" name="pwd"/>
    <input type="button"/>
    <input type="button" value="登录1"/>
    <input type="submit" value="登录2"/>     -会提交当前这个表单
    属性:value可以是默认值,按键上的文本
        name是类似于别名
    
    <input type="radio" name="***" value="*"/>    单选框,name相同时候只能选择一个,然后内部可以通过value来区分,checked="checked"默认选中
    <input type="checkbox" />    复选框,name相同时,是为了区分别的复选框选项,value可以区分是哪一个,checked="checked"默认选中
 
    <input type="file" name="fname" />       可以选择文件并上传
但是必须在form表单中有一个属性依赖   
 
    <input type="reset" name="重置" />      可以重置所有选项,不会提交
例子
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <form action="https://www.sogou.com/web">
 9         <input type="text" name="query"/>
10         <input type="submit" name="搜索"/>
11     </form>
12 </body>
13 </html>
提交后可以获得
 
 
 
radio&checkbox
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <form>
 9         <div>
10             <p>请选择性别:</p>
11             男:<input type="radio" name="gender" value="1"/>
12             女:<input type="radio" name="gender" value="2"/>
13             <p>爱好</p>
14             篮球:<input type="checkbox" name="favor" value="1"/>
15             足球:<input type="checkbox" name="favor" value="2"/>
16             排球:<input type="checkbox" name="favor" value="3"/>
17             网球:<input type="checkbox" name="favor" value="4"/>
18             台球:<input type="checkbox" name="favor" value="5" />
19             <p>技能</p>
20             篮球:<input type="checkbox" name="skill" value="1"/>
21             足球:<input type="checkbox" name="skill" value="2"/>
22             排球:<input type="checkbox" name="skill" value="3"/>
23         </div>
24         <input type="submit" value="提交"/>
25     </form>
26 </body>
27 </html>
提交后
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/zachary26626/p/11360217.html