Python web 开发一定要用框架吗?
2个回答
2016-08-10 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
Python web 开发不一定要用框架
因为Python Web框架也是Python开发出来的。只是为了减少重复造轮子,降低开发门槛。
1、Python 的 Web 并不作为语言的一部分实现。因为通用语言的设计目标,Python 通过 C extension 形式的标准库,有原生的网络编程支持。也就是说,任何人都可以用 Python 的 socket 接口自己编写 Web 服务器。由于图灵机的等价性,用 Python 实现一个 PHP VM 也是技术可行的。
2、但是绝大多数人用 Python 做 Web 开发的时候不会选择自己用 socket 去实现一个服务器,因为 Python 官方有 Web 设计的标准—— WSGI (PEP 333 python.org/dev/peps...)。WSGI 定义的标准将 Web 应用划分为 WSGI Application 和 WSGI Server。后者类似 PHP 的 Web 运行时,提供对标准输入输出流的封装,前者则类似自己写的 PHP 应用,在封装后的环境中对具体应用进行 Web 开发。强烈建议阅读一下 PEP 333,对于理解 WSGI 的这种划分很有帮助。
3、目前为止,WSGI 在主流 Python 应用中得到广泛支持,所谓的 Python Web 框架,其实都是符合 WSGI Application 规范下,对Web开发中环境进行的封装,如果有精力,阅读一下 Bottle 框架的源码,就会非常有收获——只有一个文件,但是完整实现 WSGI 并封装为自己风格的一个环境(一个 Bottle 的实例就是一个 WSGI Application,实现了 __call__ 方法)。像 Django 这种框架已经逾越了Web框架范围的了,将 ORM、表单验证等等聚集成一块,有点像 RoR 的感觉。真正和 PHP 的 Web 环境等价的,是类似 Bottle 这样的微内核框架。
因为Python Web框架也是Python开发出来的。只是为了减少重复造轮子,降低开发门槛。
1、Python 的 Web 并不作为语言的一部分实现。因为通用语言的设计目标,Python 通过 C extension 形式的标准库,有原生的网络编程支持。也就是说,任何人都可以用 Python 的 socket 接口自己编写 Web 服务器。由于图灵机的等价性,用 Python 实现一个 PHP VM 也是技术可行的。
2、但是绝大多数人用 Python 做 Web 开发的时候不会选择自己用 socket 去实现一个服务器,因为 Python 官方有 Web 设计的标准—— WSGI (PEP 333 python.org/dev/peps...)。WSGI 定义的标准将 Web 应用划分为 WSGI Application 和 WSGI Server。后者类似 PHP 的 Web 运行时,提供对标准输入输出流的封装,前者则类似自己写的 PHP 应用,在封装后的环境中对具体应用进行 Web 开发。强烈建议阅读一下 PEP 333,对于理解 WSGI 的这种划分很有帮助。
3、目前为止,WSGI 在主流 Python 应用中得到广泛支持,所谓的 Python Web 框架,其实都是符合 WSGI Application 规范下,对Web开发中环境进行的封装,如果有精力,阅读一下 Bottle 框架的源码,就会非常有收获——只有一个文件,但是完整实现 WSGI 并封装为自己风格的一个环境(一个 Bottle 的实例就是一个 WSGI Application,实现了 __call__ 方法)。像 Django 这种框架已经逾越了Web框架范围的了,将 ORM、表单验证等等聚集成一块,有点像 RoR 的感觉。真正和 PHP 的 Web 环境等价的,是类似 Bottle 这样的微内核框架。
2018-07-05 · 专业app开发、互联网营销策划
广州启汇营销策划有限公司
广州启汇营销策划有限公司是国内领先的移动互联网技术解决方案服务商。拥有子品牌:启汇网络和启汇营销。提供APP、移动商城、Web等开发服务。专注品牌建设、全媒介投放、内容运营、活动策划等市场服务。
向TA提问
关注
展开全部
可以,但是首先要记得,最早的、最基本的 CGI 程序,所谓的 web 输出不过就是由 web server 将这个程序输出的内容重定向给浏览器而已。
接受
因为 CGI 依赖于 one-proc-per-request 模型,效率低下,所以后来有了内嵌到 Apache 服务器中的模块设计,比如 mod_php 等。
PHP 最常见的部署形式,mod_php 就是作为 web server 附加组件运行的,所以很多事情是由设计默认、环境代为完成的,比如和 HTTP server 的通信等。
Python 更偏向于通用编程语言,如果要做 Web 开发,可以有两种方式:通过 Apache / Nginx 做前端;自己做 HTTP server。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询