Python 框架篇
生活随笔
收集整理的這篇文章主要介紹了
Python 框架篇
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
框架即FrameWork,旨在更快的解決共性問題。
對于所有的web應用,本質就是一個socke服務端和socke瀏覽器客戶端
自己封裝的一個簡單web框架
import socketdef handle_request(conn):buf = conn.recv(1024)conn.send("HTTP/1.1 200 OK\r\n\r\n".encode("utf8"))conn.send("<h1 style='color:red'>Hello World</h1>".encode("utf8"))def main():sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.bind(('localhost',8001))sock.listen(5)while True:connection,address = sock.accept()handle_request(connection)connection.close()if __name__ == "__main__":main()我們監聽一個8001端口,當瀏覽器訪問該端口,我們返回一個h標簽給客戶端。這就實現了一個簡單的請求響應,但是具體的解析http請求,發送http響應,這都需要專業的http技能,
所以,需要一個統一的接口,這個接口就是WSGI:Web Server Gateway Interface。
python wsgi接口web框架
#框架示例demo 顯示當前時間 示例web框架的解析 from wsgiref.simple_server import make_server import timedef current_time(request):cur_time=time.ctime(time.time())f=open("current_time.html","rb")data=f.read()data=str(data,"utf8").replace("!cur_time!",str(cur_time))return [data.encode("utf8")]def routes():urlpatterns=(('/current_time',current_time),)return urlpatternsdef application(environ,start_response):start_response("200 OK",[('Content-Type','text/html')])path=environ["PATH_INFO"]urlpatterns=routes()func=Nonefor item in urlpatterns:if item[0] == path:func=item[1]break;if func:return func(environ)else:return ["<h1>404</h1>".encode("utf8")]return [b'<h1>Hello,World</h1>']httpd = make_server('',8080,application) print("serving http on port 8080...") httpd.serve_forever()?
轉載于:https://www.cnblogs.com/FashionDoo/p/10649719.html
總結
以上是生活随笔為你收集整理的Python 框架篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Google工程师:如何看待程序员普遍缺
- 下一篇: 绿色版Mysql自动建立my.ini和命