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兔子毒药问题实例分析
Mar 05 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
Python中is与==判断的区别
Mar 28 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 Python
分析Python读取文件时的路径问题
Feb 11 Python
python读取图片并修改格式与大小的方法
Jul 24 Python
python cumsum函数的具体使用
Jul 29 Python
python对常见数据类型的遍历解析
Aug 27 Python
如何基于python实现画不同品种的樱花树
Jan 03 Python
python如何求圆的面积
Jul 01 Python
python常见的占位符总结及用法
Jul 02 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
如何分别全角和半角以避免乱码
2006/10/09 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
Laravel 5 学习笔记
2015/03/06 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
jQuery遍历Form示例代码
2013/09/03 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
jQuery对底部导航进行跳转并高亮显示的实例代码
2019/04/23 jQuery
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python中的sort方法使用详解
2014/07/25 Python
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python中openpyxl实现vlookup函数的实例
2020/10/28 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
抽象方法、抽象类怎样声明
2014/10/25 面试题
某科技软件测试面试题
2013/05/19 面试题
报关员个人职业生涯规划书
2014/03/12 职场文书
专业见习报告范文
2014/11/03 职场文书
上课说话检讨书
2015/01/27 职场文书
医院消毒隔离制度
2015/08/05 职场文书
html粘性页脚的具体使用
2022/01/18 HTML / CSS
详解TypeScript的基础类型
2022/02/18 Javascript
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL
python实现学生信息管理系统(面向对象)
2022/06/05 Python