随笔 - 241  文章 - 1  评论 - 58  阅读 - 85万 

一、什么是WSGI?

Nginx/Apacha :Web Server                                              Web服务器

WSGI              :Web Server Gateway Interface               PythonWeb服务器网关接口(Python,缩写为WSGI)

PS:

It`s awful that my buddy couldn't distinguish WSGI from Web Server who has been a web developer for 3 years.

 

WEB框架的本质是一个socket服务端接收用户请求,加工数据返回给客户端(Django),但是Django没有自带socket需要使用 别人的 socket配合Django才能正常运行,socket有很多如下,  但是它们必须遵循一个规范 WSGI(web服务网关接口)这个所有socket都遵守的规范就是WSGI。

 

Django默认使用: Django框架中不包含socket,它默认使用第三方的wgiref socket(并发性能低 测试使用),也可以结合其他socket;

 生产环境:uwsgi+Django

 

 

wsgiref +Django工作流程

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

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

3.Django框架开始 中间件、路由系统、视图函数、ORM操作、模板渲染最终return字符串给socket

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)

 

posted on   Martin8866  阅读(483)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示