python+mysql实现简单的web程序

作者:hebedich 时间:2024-01-15 12:31:58 

这次要为我的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,mysql,web程序
0
投稿

猜你喜欢

  • oracle 中 sqlplus命令大全

    2024-01-23 21:07:27
  • Python设计模式之MVC模式简单示例

    2023-02-24 16:58:33
  • 如何实现优惠打折?

    2010-06-03 10:27:00
  • div、section、article 的区别

    2011-02-26 15:39:00
  • Python : turtle色彩控制实例详解

    2022-09-22 13:01:46
  • 10个美观实用的 jQuery/Mootools 日历插件

    2009-09-17 13:03:00
  • 使用mysqli完成事务处理

    2011-03-29 15:49:00
  • pytorch 移动端部署之helloworld的使用

    2022-03-30 18:56:18
  • 100%点击区的滑动门

    2007-06-14 22:00:00
  • Python获取江苏疫情实时数据及爬虫分析

    2022-09-19 02:12:30
  • pytorch中retain_graph==True的作用说明

    2021-08-03 09:15:26
  • Python 自动化处理Excel和Word实现自动办公

    2021-06-07 06:41:16
  • 解决Go语言time包数字与时间相乘的问题

    2023-08-06 17:07:55
  • Linux中Python 环境软件包安装步骤

    2021-04-10 02:41:38
  • 仿DW的图形菜单 DIV+CSS

    2007-08-14 10:07:00
  • python使用百度或高德地图获取地理位置并转换

    2021-10-26 16:28:55
  • MySQL DISTINCT 的基本实现原理详解

    2024-01-15 17:21:29
  • 怎么检测到点击图片的左右位置 像QQ空间那样

    2008-10-04 10:45:00
  • python扩展库numpy入门教程

    2022-05-05 14:28:05
  • Python猴子补丁Monkey Patch用法实例解析

    2022-02-20 06:45:01
  • asp之家 网络编程 m.aspxhome.com