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中对list去重的多种方法
Sep 18 Python
Python编程实现的简单Web服务器示例
Jun 22 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
在Python中字符串、列表、元组、字典之间的相互转换
Nov 15 Python
TensorFlow MNIST手写数据集的实现方法
Feb 05 Python
python自动脚本的pyautogui入门学习
Apr 01 Python
jupyter notebook 多行输出实例
Apr 09 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
使用keras实现densenet和Xception的模型融合
May 23 Python
python cv2.resize函数high和width注意事项说明
Jul 05 Python
opencv 图像礼帽和图像黑帽的实现
Jul 07 Python
Python用K-means聚类算法进行客户分群的实现
Aug 23 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
PHP 操作文件的一些FAQ总结
2009/02/12 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
jQuery UI的Dialog无法提交问题的解决方法
2011/01/11 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
2011/10/16 Javascript
javascript操作JSON的要领总结
2012/12/09 Javascript
实现局部遮罩与关闭原理及代码
2013/02/04 Javascript
jquery统计用户选中的复选框的个数
2014/06/06 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
JS简单获得节点元素的方法示例
2018/02/10 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
python爬虫 爬取58同城上所有城市的租房信息详解
2019/07/30 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
MATCHESFASHION.COM美国官网:英国奢侈品零售商
2018/10/29 全球购物
数据库笔试题
2013/05/09 面试题
什么是网络协议
2016/04/07 面试题
历史学专业个人的自我评价
2013/10/13 职场文书
文明学生事迹材料
2014/01/29 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
2014超市收银员工作总结
2014/11/13 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
遗失说明具结保证书
2015/02/26 职场文书
业务员年终工作总结2015
2015/05/28 职场文书
2015年大学组织委员个人工作总结
2015/10/23 职场文书
导游词之徐州-云龙山
2019/09/29 职场文书
MySQL索引是啥?不懂就问
2021/07/21 MySQL
nginx刷新页面出现404解决方案(亲测有效)
2022/03/18 Servers
带你了解Java中的ForkJoin
2022/04/28 Java/Android