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()
MVC/MTV
是不有人经常在你面前 装B的提起 MVC 和MTV?
说白了就是做功能模块的划分,把不同的代码放到不同的文件。
MVC
models(数据库,模型)
views(html模板)
controllers(业务逻辑处理) --> MVC
MTV
models(数据库,模型)
templates(html模板)
views(业务逻辑处理) --> MTV (Django属于 MTV)
时间: 2024-11-09 20:22:41