一、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>

版权声明:本文为zzlain原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zzlain/p/6534355.html