① 学python 但不想做web 有什么好书推荐
1、Python本身目前还没有提供打包exe的功能,因为Python发展的方向是像Java一样的多平台。使用PyInstaller可以将Python程序打包成Windows(当然也包括Linux, Mac OS X, Solaris and AIX)下可执行的文件。
2、同样的道理,Python对于操作系统相关的编程都需要相关其他组件,使用Python自带的模块很难写出一个与某个操作系统紧密相关的程序。比如:移动Windows的浏览器窗口、指定Linux终端窗口的位置等等,这些都是操作系统来管理的,Python更多的用于应用程序的编写而不是控制操作系统。
3、个人觉得Python最好的教程就是安装程序自带的《Python Manuals》,里面既有教程《The Python Tutorial》,也有《The Python Language Reference》介绍系统自带的各种模块,学Python非官方文档莫属,任何中文的教程和文档都是二手资料。
4、如果文档已经都了解,那么可以根据自己发展和研究方向了解各种扩展模块和框架,比如:web框架Django、绘图扩展matplotlib、测试框架zope.testing、地图扩展basemap等等。如果对c感兴趣,可以了解用C语言扩展Python的功能。
这些都是类似语言学习的所谓高级编程部分,与语言本身关系不大。
② python服务器不用WEB框架,怎么生成cookie并发送给浏览器
request模块,post请求,提交cookies。
③ Python web 开发一定要用框架吗有没其它方法,类似 PHP 的语句
首先要记得,最早的、最基本的 CGI 程序,所谓的 web 输出不过就是由 web server 将这个程序输出的内容重定向给浏览器而已。#!/bin/bash
cat <<EOF
HTTP/1.0 200 OK
Hello
EOF这都可以做一个最简单的 CGI 程序运行起来 :)
因为 CGI 依赖于 one-proc-per-request 模型,效率低下,所以后来有了内嵌到 Apache 服务器中的模块设计,比如 mod_php 等。
PHP 最常见(传统?)的部署形式,mod_php 就是作为 web server 附加组件运行的,所以很多事情是由设计默认、环境代为完成的,比如和 HTTP server 的通信等。
Python 更偏向于通用编程语言,如果要做 Web 开发,可以有两种方式:通过 Apache / Nginx 做前端;自己做 HTTP server。
用
Apache / Nginx 做前端的话,排除 CGI 不说,所需要了解的是 Python 和 HTTP server
接口的协议,如现在流行的 FastCGI 协议。Python 使用 FastCGI 协议最常见的接口是 WSGI API。web.py /
cherrypy 等许多框架就是从提供 WSGI 协议支持和简单回调接口相应客户请求作为设计起点的轻量级框架。
除此之外,Python 还可以不依赖 web server (Apache / Nginx),自己实现 HTTP 协议,如:
基于 Base / Simple / CGIHTTPServer
基于 SocketServer.TCPServer
基于 asyncore
基于 Twisted 等
方法不一而足。
④ 如何用python搭建web项目,有数据库操作,不用框架
标准库里有CGIHTTPServer可以用,自己就是httpd。
如果你用别程序做httpd的话,像apache、nginx、cherokee这些有名气的应该都能支持wsgi、cgi或者fastCGI,你都可以用。
⑤ 不用web框架,怎么通过python获取网页表单提交的数据,并传入数据库啊,求大佬们帮帮忙
你想自己实现 wsgi 还是使用 wigiref 模块?你需要了解wsgi 基础,所有表单数据 可以通过 wsgi 的入口函数中的参数 envrion['wsgi.input'] 获取到
wsgi参考资料:
https://www.python.org/dev/peps/pep-3333/
https://pep-3333-wsgi.readthedocs.io/en/latest/
⑥ Python web 开发一定要用框架吗
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开发cgi程序,这样完全就不需要使用web开发框架了
参考下面的链接www.yii.com/python/python_cgi_programming.html
⑧ Python web 开发一定要用框架吗有没其它方法,类似 PHP 的语句
首先要记得,最早的、最基本的 CGI 程序,所谓的 web 输出不过就是由 web server 将这个程序输出的内容重定向给浏览器而已。#!/bin/bash
cat <<EOF
HTTP/1.0 200 OK
Hello
EOF这都可以做一个最简单的 CGI 程序运行起来 :)
因为 CGI 依赖于 one-proc-per-request 模型,效率低下,所以后来有了内嵌到 Apache 服务器中的模块设计,比如 mod_php 等。
PHP 最常见(传统?)的部署形式,mod_php 就是作为 web server 附加组件运行的,所以很多事情是由设计默认、环境代为完成的,比如和 HTTP server 的通信等。
Python 更偏向于通用编程语言,如果要做 Web 开发,可以有两种方式:通过 Apache / Nginx 做前端;自己做 HTTP server。
用
Apache / Nginx 做前端的话,排除 CGI 不说,所需要了解的是 Python 和 HTTP server
接口的协议,如现在流行的 FastCGI 协议。Python 使用 FastCGI 协议最常见的接口是 WSGI API。web.py /
cherrypy 等许多框架就是从提供 WSGI 协议支持和简单回调接口相应客户请求作为设计起点的轻量级框架。
除此之外,Python 还可以不依赖 web server (Apache / Nginx),自己实现 HTTP 协议,如:
基于 Base / Simple / CGIHTTPServer
基于 SocketServer.TCPServer
基于 asyncore
基于 Twisted 等
方法不一而足。
⑨ Python web开发一定要用框架吗
可以,但是首先要记得,最早的、最基本的 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。
⑩ 我想用 python+MongoDB 开发个 WEB 应用,不用框架的话需要什么知识
首先你需要知道一个Web应用基本的请求处理流程。以最简单最原始的动态网页为例,你点击链接(GET),提交表单(POST),就是与服务器端建立了连接之后发送了一个HTTP请求(RFC2616 5.1节,之后都以HTTP 1.1为例)
里面至少有方法(动词,就是GET啦POST什么的,详见RFC2616第9节),地址(URL),HTTP版本,还可能带上Cookie(会话的一般实现机制),缓存相关的信息(RFC2616 13节),User-Agent串等等一堆信息。对于POST请求我们还有表单内容作为请求实体(RFC2616 7.2节),里面是你填写的表单内容。