一、Web框架的本质
所有的web框架、web请求;本质上都是:socket
浏览器:socket客户端
服务器:socket服务端
1. socket服务端
import socket def handle_request(client):
buf = client.recv(1024)
client.send(b"HTTP/1.1 200 OK\r\n\r\n")
client.send(b"Hello") def main():
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.bind(('localhost', 8000))
sock.listen(5) while True:
connection, address = sock.accept()
handle_request(connection)
connection.close() if __name__ == '__main__':
main()
2. 半成品web框架
'cgi': CGIServer,
'flup': FlupFCGIServer,
'wsgiref': WSGIRefServer,
'waitress': WaitressServer,
'cherrypy': CherryPyServer,
'paste': PasteServer,
'fapws3': FapwsServer,
'tornado': TornadoServer,
'gae': AppEngineServer,
'twisted': TwistedServer,
'diesel': DieselServer,
'meinheld': MeinheldServer,
'gunicorn': GunicornServer,
'eventlet': EventletServer,
'gevent': GeventServer,
'geventSocketIO':GeventSocketIOServer,
'rocket': RocketServer,
'bjoern' : BjoernServer,
'auto': AutoServer,
3. 现成的web框架
Bottle,Flask,Tornado,Django....等。
分类:
Django:缓存、用户认证、后台管理、ORM(对象关系映射).....
Bottle,Flask,Tornado,Webpy....
二、Django
1. Django安装
方法一:pip3 install django
方法二:python3 setup.py install
2. 添加环境变量
windows系统,安装完django,需要将可执行文件路径添加到path环境变量中,可执行文件目录为python安装目录下的Scripts;例:C:\Program Files (x86)\Python35-32\Scripts
3. 基本操作
创建project:
django-admin startproject <NAME>
<NAME>:
- <NAME>(配置文件目录)
- manage.py(管理project)
- app(cmdb)
- models.py 数据库操作
- admin.py 配置Django自带的后台管理
- apps.py 当前app的配置
- tests.py 单元测试
- views.py 做业务处理
运行程序:
cd <NAME>
python3 manage.py runserver 127.0.0.1:8000
创建app:
cd <NAME>
django-admin startapp <APPNAME>