Python开发web服务的优势是开发效率高,可能只需要java五分之一的代码量。Python搭建web服务有许多框架,本文介绍Django和bottle两个框架。

Django

安装


首先,安装该框架安装成功,版本是1.11.28. 框架的文件安装在\python27\Scripts目录下(搜索电脑中Python安装目录下的Scripts就对了)。

建立项目



先进入\python27\Scripts目录,建立项目jinanwx(名称随便起)同一个目录下可以看到新建立工程的目录

开发自己模块

进入python27\Scripts\jinanwx\jinanwx。新建我们自己的模块


jgotest01.py里面写简单的代码如下模块功能就是返回个json格式结果。

修改urls模块


打开UC浏览器 查看更多精彩图片

然后需要改urls.py模块目录文件如下就这么简单,新建一个文件再修改一个文件,就成了。

启动服务



回到上一级目录启动服务启动成功,浏览器访问试试

bottle

开发功能不是特别复杂的web服务,可以考虑使用bottle框架,它比Django轻量。bottle例子在Linux下演示。

安装

使用bottle框架首先安装。一个指令搞定。

# pip install bottle

进入Python命令行import bottle,没报错就是成功了。

代码

我的web服务就一个文件bottleweb.py,代码如下,一些解释在代码的注释里


bottleweb.py所在目录执行

#python bottleweb.py

如果安装了MySQL数据库可以测试test2020/date的url是否能返回结果



数据库只要有下面的数据就可以前端页面是这个样子的,给用户选择某个日期。前端是用vue+vux来开发的,开发完打包打出的东西上传到代码中提到的dist静态资源目录下。如果觉得上面的代码有点复杂,可以把所有route, app.route的东西删除,把/test2020/date语句块也删除,把@hook删除,MySQL的东西删除,前端的东西也完全不考虑,就是最简单的bottle web服务,相当于hello world。建议尽量懂上面的代码,涉及了静态资源,数据库,是web服务必须的内容。

pip升级的坑

分享一个遇到的pip的问题,我Python版本很低2.6.6。本来通过安装yum的epel,已经成功安装了好用的pip。但是每次我用pip命令,最下方都会提示升级

You are using pip version 9.0.3, however version 20.0.2 is available.You should consider upgrading via the 'pip install --upgrade pip' command

我执行了pip install --upgrade pip升级,然后pip指令就不能用了。而且升级了之后,在想安装回低版本的pip就没有对应的安装包了。yum只能找到20.0.2版本的(老版本会被覆盖难道?)。

下载了get-pip.py也无法安装成功。最后下载到了2.6版本的安装文件,才成功安装可以使用的pip。

总结

相比java,python开发web代码量少,需要安装的库少,如果能满足功能和性能要求,python可能是更好的选择。