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实现二叉树结构与进行二叉树遍历的方法详解
May 24 Python
使用pyecharts无法import Bar的解决方案
Apr 23 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
Django Admin 实现外键过滤的方法
Sep 29 Python
Django中针对基于类的视图添加csrf_exempt实例代码
Feb 11 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
pandas数据拼接的实现示例
Apr 16 Python
完美解决ARIMA模型中plot_acf画不出图的问题
Jun 04 Python
Python Celery异步任务队列使用方法解析
Aug 10 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
Dec 17 Python
Python采集爬取京东商品信息和评论并存入MySQL
Apr 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
PHP 常见郁闷问题答解
2006/11/25 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
PHP生成自适应大小的缩略图类及使用方法分享
2014/05/06 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
2015/10/09 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
jquery 分页控件实现代码
2009/11/30 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
基于JavaScript代码实现兼容各浏览器的设为首页和加入收藏
2016/01/07 Javascript
超实用的JavaScript表单代码段
2016/02/26 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
最细致的vue.js基础语法 值得收藏!
2016/11/03 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
Angular2平滑升级到Angular4的步骤详解
2017/03/29 Javascript
纯JS实现图片验证码功能并兼容IE6-8(推荐)
2017/04/19 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
Python即时网络爬虫项目启动说明详解
2018/02/23 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
美国钻石商店:Zales
2016/11/20 全球购物
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
JoJo Maman Bébé爱尔兰官网:英国最受欢迎的精品母婴品牌
2020/12/20 全球购物
孝敬父母的活动方案
2014/08/31 职场文书
作风大整顿心得体会
2014/09/10 职场文书
考研英语辞职信
2015/05/13 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
PHP新手指南
2021/04/01 PHP