python web开发 cgi 学习之路

2019-02-13  本文已影响0人  孤魂野鬼20

       利用春节档期间 每天学习一点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,如果想改端口号 命令后 跟上指定端口即可)

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

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

首先是html代码:

然后就是python代码:

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

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

很明显 我的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 命令,

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

python -m http.server --cgi

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

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

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

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

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

赶紧

pip install pymysql

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

页面也回显成功。

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

继续学习djiango中。。。

上一篇 下一篇

猜你喜欢

热点阅读