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可能是更好的选择。