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,如果想改端口号 命令后 跟上指定端口即可)


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

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中。。。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Python的面向对象 类 Class 类变量 Class variable 数据成员 Data member 函...
    JasonJe阅读 4,897评论 0 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 8,178评论 1 3
  • Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资...
    Clemente阅读 8,462评论 0 54
  • 这篇文章的灵感源于我校也开始了课室设立手机袋(每位学生在上课前必须将手机放入手机收纳袋中,若没这样做则视为旷课...
    建行小伙阅读 4,613评论 19 12
  • 介绍自己,题目很大,也很小。大的是用心去写给对的人,小的是用编年体流水账式的叙述。 以前找工作时,也曾根据应聘单位...
    选红阅读 2,726评论 4 6

友情链接更多精彩内容