首页 > 代码库 > Django之WSGI 和MVC/MTV

Django之WSGI 和MVC/MTV

WEB框架的本质:socket 接受请求 + 内容处理+ socket响应。

但是Django没有自带socket需要 使用 别的socket+Django

socket有很多如下

技术分享

  但是它们必须遵循一个规范 WSGI(web服务网关接口)

Django默认使用 wgiref socket(并发性能低 测试使用)

uwsgi+Django 工作中

 

wsgiref +Django工作流程

1.socket 接受客户端请求 做http请求解析(分割请求头请求体)

2.wsgiref 把解析之后请求相关信息转发 给 Django

3.Django执行处理,return产出字符串,回传给WSGI

4.把socket send (Django产出的字符串),返回客户端

技术分享
Wsgi+Django
            from wsgiref.simple_server import make_server
             
             
            def RunServer(environ, start_response):

                Django框架开始
                中间件
                路由系统
                视图函数
                。。。。。
                
                start_response(200 OK, [(Content-Type, text/html)])
                
                
                return [bytes(<h1>Hello, web!</h1>, encoding=utf-8), ]
             
             
            if __name__ == __main__:
                httpd = make_server(127.0.0.1, 8000, RunServer)
                httpd.serve_forever()
View Code

 

 

 

 

 

 

 

 

 

MVC/MTV

是不有人经常在你面前 装B的提起 MVC 和MTV?

说白了就是做功能模块的划分,把不同的代码放到不同的文件。

MVC

models(数据库,模型)

views(html模板)

controllers(业务逻辑处理) --> MVC

 

MTV

models(数据库,模型)

templates(html模板)

views(业务逻辑处理) --> MTV (Django属于 MTV)

 

Django之WSGI 和MVC/MTV