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 相关文章推荐
仅用50行Python代码实现一个简单的代理服务器
Apr 08 Python
Python实现Windows上气泡提醒效果的方法
Jun 03 Python
读取本地json文件,解析json(实例讲解)
Dec 06 Python
Sanic框架蓝图用法实例分析
Jul 17 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
Dec 24 Python
Python 调用PIL库失败的解决方法
Jan 08 Python
python制作图片缩略图
Apr 30 Python
python找出因数与质因数的方法
Jul 25 Python
Python数据可视化:幂律分布实例详解
Dec 07 Python
python编写微信公众号首图思路详解
Dec 13 Python
python sleep和wait对比总结
Feb 03 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 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
谈一谈收音机的高放电路
2021/03/02 无线电
Linux下PHP安装mcrypt扩展模块笔记
2014/09/10 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php内嵌函数用法实例
2015/03/20 PHP
php获取错误信息的方法
2015/07/17 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
php中如何执行linux命令详解
2018/11/06 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
javascript 面向对象编程基础:继承
2009/08/21 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
表单元素的submit()方法和onsubmit事件应用概述
2013/02/01 Javascript
js日期联动示例
2014/05/02 Javascript
基于jQuery实现下拉框
2014/11/24 Javascript
jquery实现动态改变div宽度和高度
2015/05/08 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
react-router实现按需加载
2017/05/09 Javascript
element-ui 中使用upload多文件上传只请求一次接口
2019/07/19 Javascript
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
python中redis的安装和使用
2016/12/04 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
python验证码识别的示例代码
2017/09/21 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
Django框架会话技术实例分析【Cookie与Session】
2019/05/24 Python
下载官网python并安装的步骤详解
2019/10/12 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
Python中itertools的用法详解
2020/02/07 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
opencv 图像腐蚀和图像膨胀的实现
2020/07/07 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
中秋节礼品促销方案
2014/02/02 职场文书
高中学生自我评价范文
2014/09/23 职场文书
2015年统战工作总结
2015/05/19 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python
详解JAVA中的OPTIONAL
2021/06/14 Java/Android