python cgi库_python web开发 cgi 学习之路

利用春节档期间 每天学习一点python的基础知识,python web (CGI)开发应该是最后一部分,总结一下整个过程。

在写demo代码之前先熟悉一下如何启动python web服务器,就像初学java servlet之前得知道如何跑web程序一样,java 我们可以用tomcat、jetty甚至weblogic 等等。python中我了解的可以在apache或者是python自带的服务器,当然python自带的个人觉得只适合开发调试学习用,真正的部署还是apache更可靠。

直接奔入主题,第一步启动服务器(我这里使用python自带,想尝试apache的可以去官网下载)

首先通过命令行进入我们的python工程目录 后执行

python -m CGIHTTPServer

服务器启动成功(默认端口 8000,如果想改端口号 命令后 跟上指定端口即可)

ffac7d3de894

很开心,立马通过浏览器访问

ffac7d3de894

Ok,能访问了,立马开始写个简单的用户注册的小功能,就是个页面表单提交而已。

首先是html代码:

ffac7d3de894

然后就是python代码:

ffac7d3de894

刷新下浏览器,哇果真看到html页面文件了,果断点进去 页面表单出来了

ffac7d3de894

迫不及待的随便填入写数据 submit,问题来了 mmp,

ffac7d3de894

很明显 我的py文件没有执行,只是直接打开了这个py文件而已,查看后台服务器果然报错了

OSError: CGI script exit status 0x100

速度搜了一下解决办法,一堆说法都是什么Linux系统换行符和windows不一样导致的,还有说我的py文件权限问题 我立马 chmod 755 ,然后重新跑,然并暖。反正怎么折腾都是上面的一样的问题。

突然灵光一闪,是不是python版本问题,因为我pycharm里用的是python3.5,于是

python -v 查看系统的python版本,果不其然:2.7。 哭晕在厕所。。。呜呜

想办法升级我ubuntu安装的python版本,好像不知道如何升级,问了下度娘,搜到命令update-alternatives--install /usr/bin/python python /usr/bin/python3 150

大概一两分钟执行完成,python -v, 嗯 版本对了 3.5的,准备重启服务器

继续执行开始的  python -m CGIHTTPServer 命令,

ffac7d3de894

要绝望了,一步一个坑,网上到处找资料,运来python3.X里没有这个CGIHTTPServer这个模块了,替换成了 http.server 模块 命令也就随之改变python -m http.server --cgi

good,启动成功,继续访问页面,submit表单,终于搞定,能跳转了,一开始我的py文件里只写了简单的打印 Hello World

ffac7d3de894

跑成功了,能正确展示Hello World了 好像很开心的样子。

ffac7d3de894

做一个注册小demo怎么能就打印个Hello world 呢,于是加入数据库操作的代码,本文开头的那段python代码

期待着完美插入一条数据记录,然而没有那么顺利,报错了 没有 pymysql 模块,很纳闷,明明我代码引入了pymysql模块呀 编译没报错怎么就没这个模块了

突然想起现在服务器跑的不是我pychram里安装的python,好像明白怎么回事了

赶紧pip install pymysql

ok,安装完成,终于大功告成,顺利插入一条数据

ffac7d3de894

页面也回显成功。

作为一个python初学者,还有好多东西需要去学习,一步一个坑踩过去,就离目标越来越近。

继续学习djiango中。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值