python+mysql实现简单的web程序


Posted in Python onSeptember 11, 2014

这次要为我的python程序加上数据库,主要是实现从mysql中查询出数据并在页面上显示出来。

首先是mysql的配置文件config.py

host="127.0.0.1"
user="root"
password=""
charset="utf8"
database="service"
port=3306

然后是从数据库中读取数据的aService.py

import MySQLdb
import sys
import config
class AService(object):
    def getA(self,id):
      conn = MySQLdb.connect(host=config.host,user=config.user,passwd=config.password,port=config.port,db=config.database,charset=config.charset)
      result=[]
      try:
        cursor = conn.cursor();
        cursor.execute("select id,code,title from test_a where id='%d'"%(id))
        result = cursor.fetchone()
      except Exception,e:
        print "System error: ",e
        result = "error"
      finally:
        cursor.close()
        conn.close()
      return result

其中cursor.execute()返回是执行语句影响的行数,刚开始我以为是返回的结果,导致绕了很远的弯路。真正为返回结果的是cursor.fechone(),表示获取执行结果的第一条。同时还有cursor.fetchall(),表示获取所有结果。如果获取了多个字段的话,结果为数组类型,按照查询结果的字段顺序排序。

MySQLdb是python与数据库连接的一个模块。这个模块并不是本来就存在的,需要下载并安装到python得目录下才行。MAC安装这个模块有个奇怪的要求,就是必须在本机安装了mysql,即便实际上程序使用的外部的数据库。在已安装mysql的前提下,发现安装mysqldb错误,并报了mysql目录找不到错误时,可用以下方法解决:

在用户的home目录下vi .profile

加入 export PATH=$PATH:/user/local/mysql/bin,退出并保存

再执行source ./.profile命令并退出终端

这样过后,在重新安装mysqldb应该就不会报找不到mysql目录的错误了。

接下来是主程序hello.py

import web
import aService
import sys
 
urls = ("/Service/A","hello")
app = web.application(urls,globals())
 
class hello:
    def GET(self):
        mservice = aService.AService()
        result = mservice.getA(1)
        json = ""
        json +="{"
        json +="'id':"+str(result[0])+","
        json +="'code':'"+result[1]+"',"
        json +="'title':'"+result[2]+"'"
        json +="}"
        return json;
if __name__=="__main__":
    app.run()

这个部分创建了一个访问路径/Service/A,该路径对应的服务是hello类提供的。在这个类的get方法中调用了aService的getA方法。在页面上显示出一个json格式的文本。执行步骤如下

终端:python hello.py 8080

浏览器:localhost:8080/Service/A

Python 相关文章推荐
Python加pyGame实现的简单拼图游戏实例
May 15 Python
Python使用QRCode模块生成二维码实例详解
Jun 14 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
Python实现的圆形绘制(画圆)示例
Jan 31 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
selenium在执行phantomjs的API并获取执行结果的方法
Dec 17 Python
在python中用url_for构造URL的方法
Jul 25 Python
使用pandas读取文件的实现
Jul 31 Python
布隆过滤器的概述及Python实现方法
Dec 08 Python
PyQt5高级界面控件之QTableWidget的具体使用方法
Feb 23 Python
使用sublime text3搭建Python编辑环境的实现
Jan 12 Python
一个超级简单的python web程序
Sep 11 #Python
python的Template使用指南
Sep 11 #Python
Python基础之函数用法实例详解
Sep 10 #Python
Python迭代用法实例教程
Sep 08 #Python
Python切片用法实例教程
Sep 08 #Python
Python常用模块用法分析
Sep 08 #Python
python实现斐波那契递归函数的方法
Sep 08 #Python
You might like
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php+mysqli实现批量替换数据库表前缀的方法
2014/12/29 PHP
关于PHP开发的9条建议
2015/07/27 PHP
Yii控制器中操作视图js的方法
2016/07/04 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
ext监听事件方法[初级篇]
2008/04/27 Javascript
基于Node.js实现nodemailer邮件发送
2016/01/26 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
2017/09/14 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
深入解析ES6中的promise
2018/11/08 Javascript
解决layui表格内文本超出隐藏的问题
2019/09/12 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
理解生产者消费者模型及在Python编程中的运用实例
2016/06/26 Python
window下eclipse安装python插件教程
2017/04/24 Python
Python使用getpass库读取密码的示例
2017/10/10 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python取余运算符知识点详解
2019/06/27 Python
Django项目中实现使用qq第三方登录功能
2019/08/13 Python
python实现坦克大战
2020/04/24 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
印度尼西亚最完整和最大的在线药房网站:Farmaku.com
2019/11/23 全球购物
QQ空间主人寄语大全
2014/04/12 职场文书
就业意向书
2014/07/29 职场文书
校长师德表现自我评价
2015/03/04 职场文书
遇事可以测出您的见识与格局
2019/09/16 职场文书
html中两种获取标签内的值的方法
2022/06/16 jQuery