Django框架:

1、socket服务端.py

import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
while True:
conn,addr = sk.accept()
data = conn.recv(1024)
# print(data)
conn.send(b"HTTP/1.1 200 ok\r\ncontent-type:text/html;charset=utf-8\r\n\r\n")
conn.send(b"<h1>ok</h1>")
conn.close()
2、根据不同的路径返回不同的内容.py
import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
while True:
conn,addr = sk.accept()
data = conn.recv(1024)
url = data.decode("utf-8").split()[1] # ['GET','/honme/']
conn.send(b"HTTP/1.1 200 ok\r\ncontent-type: text/html;charset=utf-8\r\n\r\n")
if url == "/home":
res = "<h1>这是home</h1>".encode("utf-8")
elif url == "/index":
res = "<h1>这是index</h1>".encode ( "utf-8" )
else:
res = b"404 not found"
conn.send(res)
conn.close()
3. 根据不同的路径返回不同的内容(函数版).py
import socket
sk = socket.socket()
sk.bind(('127.0.0.1', 8000))
sk.listen()
def home(url):
return '<h1>这是home {}</h1>'.format(url)
def index(url):
return '<h1>这是index {}</h1>'.format(url)
def article(url):
return '<h1>这是article {}</h1>'.format(url)
while True:
conn, addr = sk.accept()
data = conn.recv(1024)
url = data.decode('utf-8').split()[1] # ['GET','/honme/']
conn.send(b'HTTP/1.1 200 ok\r\ncontent-type: text/html; charset=utf-8\r\n\r\n')
if url == '/home/':
res = home(url)
elif url == '/index/':
res = index(url)
elif url == '/article/':
res = article(url)
else:
res = '404 not found'
conn.send(res.encode('utf-8'))
conn.close()
4、根据不同的路径返回不同的内容函数版进阶版.py
import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
def home(url):
return "<h1>这是home {}</h1>".format(url)
def index(url):
return "<h1>这是index {}</h1>".format(url)
def article(url):
return "<h1>这是article {}</h1>".format(url)
list1 = [
("/index/",index),
("/home/",home),
("/article/",article),
]
while True:
conn,addr = sk.accept()
data = conn.recv(1024)
url = data.decode("utf-8").split()[1]
conn.send(b"HTTP/1.1 200 ok\r\ncontent-type: text/html;charset=utf-8\r\n\r\n")
func = None
for i in list1:
if i[0] == url:
func = i[1]
break
if func:
res = func(url)
else:
res = "404 not found"
conn.send(res.encode("utf-8"))
conn.close()
5、返回HTML页面.py
import socket
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
def home(url):
with open("home.html","r",encoding="utf-8") as f:
return f.read()
def index(url):
return "<h1>这是index {}</h1>".format(url)
def article(url):
return "<h1>这是article {}</h1>".format(url)
list1 = [
("/index/",index),
("/home/",home),
("/article/",article),
]
while True:
conn,addr = sk.accept()
data = conn.recv(1024)
url = data.decode("utf-8").split()[1]
conn.send(b"HTTP/1.1 200 ok\r\ncontent-type: text/html;charset=utf-8\r\n\r\n")
func = None
for i in list1:
if i[0] == url:
func = i[1]
break
if func:
res = func(url)
else:
res = "404 not found"
conn.send(res.encode("utf-8"))
conn.close()
6、返回动态页面.py
import socket
import time
sk = socket.socket()
sk.bind(("127.0.0.1",8000))
sk.listen()
def time(url):
with open("time.html","r",encoding="utf-8") as f:
data = f.read()
now = time.strftime("%Y-%m-%d %H-:%M:%S")
data = data.replace("@@time@@",now)
return data
def home(url):
return "<h1>这是home {}</h1>".format(url)
def index(url):
return "<h1>这是index {}</h1>".format(url)
def article(url):
return "<h1>这是article {}</h1>".format(url)
def time(url):
return "<h1>这是time {}</h1>".format(url)
list1 = [
("/index/",index),
("/home/",home),
("/article/",article),
("/time/",time),
]
while True:
conn,addr = sk.accept()
data = conn.recv(1024)
url = data.decode("utf-8").split()[1]
conn.send(b"HTTP/1.1 200 ok\r\ncontent-type: text/html;charset=utf-8\r\n\r\n")
func = None
for i in list1:
if i[0] == url:
func = i[1]
break
if func:
res = func(url)
else:
res = "404 not found"
conn.send(res.encode("utf-8"))
conn.close()
home.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="bootstrap-3.3.7-dist/css/bootstrap.min.css">
<link rel="stylesheet" href="font-awesome-4.7.0/css/font-awesome.min.css">
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="bootstrap-3.3.7-dist/js/bootstrap.js"></script>
</head>
<body>
<nav class="navbar navbar-default">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Brand</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
<form class="navbar-form navbar-left">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
<ul class="nav navbar-nav navbar-right">
<li><a href="#">Link</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
<!-- Button trigger modal -->
<button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#myModal">
添加
</button>

<table class="table table-bordered table-hover table-condensed">
<thead>
<tr class="active">
<th>选择</th>
<th>序号</th>
<th>姓名</th>
<th>性别</th>
<th>爱好</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr class="danger">
<td><input type="checkbox"></td>
<td>1</td>
<td>宝元</td>
<td>不详</td>
<td>钻</td>
<td>
<button>删除</button>
</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>2</td>
<td>和尚</td>
<td>男</td>
<td>合气道</td>
<td>
<button>删除</button>
</td>
</tr>
</tbody>
</table>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">添加数据</h4>
</div>
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-body">
<form class="form-horizontal">
<div class="form-group ">
<label for="inputEmail3" class="col-sm-2 control-label">姓名</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="inputEmail3" placeholder="姓名">
<span class="help-block"></span>
</div>
</div>
<div class="form-group">
<label for="sex" class="col-sm-2 control-label">性别</label>
<div class="col-sm-10">
<select name="" id="sex" class="form-control">
<option value="男">男</option>
<option value="女">女</option>
<option value="不详">不详</option>
</select>
</div>
</div>
<div class="form-group ">
<label for="hobby" class="col-sm-2 control-label">爱好</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="hobby" placeholder="爱好">
<span class="help-block"></span>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" id="save">保存</button>
</div>
</div>
</div>
</div>
<script>
$('#save').click(function () {
$('#myModal').modal('hide')
// 数据添加到表格中
})
</script>
</body>
</html>
time.html文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>当前的时间是:@@time@@</h1>
</body>
</html>

猜你喜欢

转载自www.cnblogs.com/zhang-da/p/12023671.html
今日推荐