码迷,mamicode.com
首页 > Web开发 > 详细

Django之WSGI 和MVC/MTV

时间:2017-07-03 16:25:03      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:系统   log   一个   本质   hid   star   view   模型   127.0.0.1   

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

标签:系统   log   一个   本质   hid   star   view   模型   127.0.0.1   

原文地址:http://www.cnblogs.com/sss4/p/7111349.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!