【自学Python】书笔记 26Python动态Web开发基础
优采云 发布时间: 2022-08-26 05:32【自学Python】书笔记 26Python动态Web开发基础
一、Python动态Web开发基础
从软件的应用领域划分,通常将软件分为桌面软件、Web软件和移动软件三大类。
在计算机软件开发应用中,Web软件开发是最常见的一种典型应用,特别是随着动态网站的不断发展,Web编程已经成为程序设计中的最重要应用领域之一。
在当今Web开发技术条件下,最主流的Web编程技术主要有ASP.NET、PHP、Java等。
作为一门功能强大的面向对象编程语言,Python语言也可以像其他经典开发语言一样用来开发Web应用程序。
二、Python CGI编程
CGI是Common Gateway Interface的缩写,表示通用网关接口。
CGI是一段运行在服务器上的程序,例如运行在HTTP服务器上提供同客户端HRML页面的接口。
三、CGI介绍
CGI是WWW技术中最重要的技术之一,有着不可替代的重要地位。
CGI是外部应用程序与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的过程。
CGI规范允许Web服务器执行外部程序,并将它们的输出发生给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。
处理过程的第一步是Web服务器从客户端接到了请求(即GET或者POST),并调用相应的应用程序。
然后它等待HTML页面,与此同时,客户端也在等待。
一旦应用程序处理完成,它会将生成的动态HTML页面返回服务器端。
接下来,服务器端再将这个最终结果返回给用户。
对于表单处理过程,服务器与外部应用程序交互,受到并将生成的HTML页面通过CGI返回客户端。
(感觉就是“电话通讯”的原理,这边发生数据到服务器,而服务器作为“中介传话筒”,或者说是单纯的“人机对话”?总之,在打通“连接”后,剩下的依旧是类似本地的数据操作了。)
由此可见,CGI在Web服务器和应用之间充当了交互作用,这样才能够处理用户表单,生成并返回最终的动态HTML页。
四、搭建CGI服务器
要像使用Python语言进行CGI开发,首先需要安装一个Web服务器,并将其配置成可以处理Python CGI请求,然后让Web服务器访问CGI脚本。
当然,其中有些操作也许需要获得系统管理员的帮助。
下面介绍在Windows系统中搭建CGI服务器的过程。
在IDLE编辑器中,输入如下命令可以获取Python自带的服务器的地址。
from http.server import CGIHTTPRequestHandler,test;test(CGIHTTPRequestHandler)
在CMD控制台界面中,通过输入Python命令也可以获取Python自带服务器的地址。
例如:
python python的安装根路径\Python39_64\Lib\http\server.py
其实找到该文件,双击运行也可以。
不过还是建议安装一个真正的Web服务器,如Apache、ligHTTPD或thttpd。
其中在Apache中有许多插件或模块可以处理PythonCGI,使用Apache服务器访问CGI的流程如下:
1)自行安装好Apache(httpd)环境,确保Apache在系统中已经能成功运行并可以访问。
网站:
(下载的是本地压缩包,解压后选择一个地方存放。我这里为D:\Apache24)
2)打开D:\Apache24\conf里面的httpd.conf文件。(以txt格式打开)
使用Ctrl+F查找下面的内容。
(1)找到
Define SRVROOT "C:/Apache24"
修改为:(这是Apache24文件位置)
Define SRVROOT "D:/Apache24"
(2)找到
ScriptAlias /cgi-bin/ “${SRVROOT}/cgi-bin/”
修改为:(这里应该是要调用的py文件根目录)
ScriptAlias /cgi-bin/ "D:/c/cgi-bin"
(3)找到
Listen 80
修改为:(这里是端口号,自定义)
Listen 8080
(4)找到
AllowOverride None Options None Require all granted
改成如下:(这是.py文件路径地址)
AllowOverride None Options Indexes FollowSymLinks ExecCGI Require all granted Require host ip
(5)找到下面的内容。
添加.py 后缀:在 AddHandler 中添加 .py 后缀,这样就可以访问 .py 结尾的 python 脚本文件
#AddHandler cgi-script .cgi
去掉此行的“#”注释(如果有),在后面可以追加后缀“.py”,这是可选的。如果不加,也可以使用“.cgi”后缀。
修改成:
AddHandler cgi-script .cgi .pl .py
(6)开启cgi_module modules/mod_cgi.so模块(即去掉模块前的注释#):
LoadModule cgi_module modules/mod_cgi.so
(7)在D:\Apache24\bin目录下,使用“httpd -k install”安装Apache主服务,然后输入“httpd –k start”开启Apache服务(管理员身份运行DOS)
(因为我已经安装过了。)
(8)双击ApacheMonitor.exe文件。
(9)屏幕左下角会弹出图标,点击“start”进行启动。
(10)输入localhost:8080后。
(11)然而输入其具体文件却无法显示。
翻译结果:
被禁止的
您没有访问此资源的权限。
(可惜没找到解决办法。)
具体请参考: