[Python]MAC Python CGI编程

你是否想使用Python语言创建一个网页,或者处理用户从web表单输入的数据?这些任务可以通过Python CGI(公用网关接口)脚本以及一个Apache web服务器实现。当用 户请求一个指定URL或者和网页交互(比如点击""提交"按钮)的时候,CGI脚本就会被web服务器启用。CGI脚本调用执行完毕后,它的输出结果就会被web服务器用来创建 显示给用户的网页。
所有的HTTP服务器执行CGI程序都保存在一个预先配置的目录。这个目录被称为CGI目录,并按照惯例,它被命名为/var/www/cgi-bin目录。
CGI文件的扩展名为.cgi,python也可以使用.py扩展名。
默认情况下,Linux服务器配置运行的cgi-bin目录中为/var/www。
如果你想指定其他运行CGI脚本的目录,可以修改httpd.conf配置文件.

1.配置Apache web服务器,让其能运行CGI脚本

MAC 上Apache web服务器已经安装好的,我们只需要对Apache 支持CGI 配置:即可使用。
进入/private/etc/apache2/httpd.conf

image.png

设置运行主机地址:
ServerName 127.0.0.1:80
Listen 80
image.png

设置HTML文件存放在web服务器上的/Library/WebServer/Documents目录,并通过DocumentRoot指令指定(指定网页文件所在目录)

DocumentRoot "/Library/WebServer/Documents"
<Directory "/Library/WebServer/Documents">
    AllowOverride None
    Options +ExecCGI
    Order allow,deny
    Order deny,allow 
    Allow from all
    AddHandler cgi-script .cgi .py .sh .php
</Directory>

为了启用CGI脚本,我们必须指定CGI脚本在web服务器上的位置,需要用到ScriptAlias指令:

ScriptAlias /Documents/ "/Library/WebServer/CGI-Executables/"

修改过程中可能会遇到无权修改问题:
可以用chmod -R 777 某文件进行权限修改
修改完成之后终端输入:
sudo apachectl restart
重启Apache

2.配置完成之后对.py文件进编辑

image.png

下面访问URL:http://localhost/hello.py 这将会调用web服务器中下面所示脚本: /Library/WebServer/Documents/hello.py

Python CGI编程使用方法见菜鸟教程Python CGI编程

注意:

print () 最好使用 print ('') 或 print ("")
也可能会出现一些错误:
python出现Non-ASCII character '\xe7' in file ex6.py on line 1, but no encoding declare错误

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,267评论 4 16
  • 前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...
    依依玖玥阅读 3,619评论 6 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,199评论 19 139
  • 本文翻译自HOWTO Use Python in the web 摘要 本文提供了一些集成Python和Web服务...
    大蟒传奇阅读 4,230评论 -1 12
  • 谈论WEB编程的时候常说天天在写CGI,那么CGI是什么呢?可能很多时候并不会去深究这些基础概念,再比如除了CGI...
    __七把刀__阅读 2,226评论 2 11