python数据库列表显示_python web py入门(4)-从数据库读取数据显示到网页

在你开始使用数据库之前,确保你已经安装了合适的数据库访问库。比如对于MySQL数据库,使用mysql-connector客户端来连接。

下载Mysql数据并安装:

从下面的连接里下载到Mysql数据库,它的版本是mysql-5.5.59-winx64.msi,这个适合Windows 64位版本,如果是linux你自己下载相应的版本。

20180209135239916然后再下载数据库的python客户端工具mysql-connector-python-8.0.6-rc-py3.6-windows-x86-64bit.msi:

https://dev.mysql.com/downloads/connector/python/

然后安装这两个工具,如果不熟悉,可以学习我的课程:

配置数据库完成之后,就可以在服务器管理器看到如下图:

20180209135514894

然后可以mysql数据库管理工具来创建数据库和创建表等,还可以插入数据:

20180209135733590

在这个工具里就可以运行下面的SQL语句:

-- 配置MySQL连接为utf-8

SET NAMES 'utf8';

SET CHARSET 'utf8';

-- 创建数据库

CREATE DATABASE IF NOT EXISTS forum DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

USE forum;

-- 创建表users

CREATE TABLE IF NOT EXISTS users

(

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

email VARCHAR(100) NOT NULL,

name VARCHAR(100) NOT NULL,

password TEXT NOT NULL,

picture TEXT NOT NULL,

description TEXT,

time TIMESTAMP DEFAULT NOW(),

PRIMARY KEY(id),

UNIQUE KEY(email),

UNIQUE KEY(name)

);

-- 创建表posts

CREATE TABLE IF NOT EXISTS posts

(

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

title TEXT NOT NULL,

content TEXT NOT NULL,

time TIMESTAMP DEFAULT NOW(),

user_id INT UNSIGNED,

PRIMARY KEY(id),

FOREIGN KEY(user_id) REFERENCES users(id)

);

-- 创建表comments

CREATE TABLE IF NOT EXISTS comments

(

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

content TEXT NOT NULL,

time TIMESTAMP DEFAULT NOW(),

user_id INT UNSIGNED,

parent_id INT UNSIGNED,

quote_id INT UNSIGNED,

PRIMARY KEY(id),

FOREIGN KEY(user_id) REFERENCES users(id),

FOREIGN KEY(parent_id) REFERENCES posts(id),

FOREIGN KEY(quote_id) REFERENCES comments(id)

);

-- 设置时区为北京时间

-- 1.以下命令仅在当前会话期间有效

/*SET time_zone = '+8:00';*/

-- 2.以下命令则全局有效

SET GLOBAL time_zone = '+8:00';

运行这段SQL语句之后,就会创建一个论坛的数据库,但是为了简单地测试,我在这个数据库添加了自己的测试表:

CREATE TABLE IF NOT EXISTS mintest

(

id INT UNSIGNED NOT NULL AUTO_INCREMENT,

email VARCHAR(100) NOT NULL,

NAME VARCHAR(100) NOT NULL,

TIME TIMESTAMP DEFAULT NOW(),

PRIMARY KEY(id),

UNIQUE KEY(email),

UNIQUE KEY(NAME)

);

这个表非常简单,只有四个字段,接着在这个表里插入几条数据,以便WEB可以查询到数据:

INSERT INTO `forum`.`mintest` (`email`, `NAME`) VALUES ('90732041@qq.com', 'caimouse1');

这时候,在这个表里就有几条数据,至于几条数据,就看你自己的操作了,如下:

20180209140244118

接着下来,就是创建WEB程序了,把数据库里的数据显示到页面。

首先你需要创建一个数据库对象:

db = web.database(dbn='mysql', host='127.0.0.1', port=3308,

db='forum', user='root', pw='12345678')

根据需要修改这里 -- 尤其是username 、 password 、 dbname -- 。 MySQL用户还需要把 dbn 定义改为 mysql。)

这就是所有你需要做的 -- web.py将会自动处理与数据库的连接和断开。

然后把URL列表改回来,只保留 /:

'/', 'index',

像这样编辑并替换 index.html 的全部内容:

$def with (mintests)

$for test in mintests:

$test.email

$test.NAME

这个模板就是把数据库的结果显示到页面里。完整的代码如下:

#python 3.6

#蔡军生

#http://blog.csdn.net/caimouse/article/details/51749579

#

import web

urls = (

'/', 'index'

)

app = web.application(urls, globals())

render = web.template.render('templates/')

db = web.database(dbn='mysql', host='127.0.0.1', port=3308,

db='forum', user='root', pw='12345678')

class index:

def GET(self):

email = db.select('mintest')

return render.index(email)

if __name__ == "__main__":

app.run()

运行这个程序,结果输出如下:

20180209140825589

到这里就实现使用WEBPY显示数据库的过程,其实是比较简单的。不过,记得更最新版本的WEB.PY项目:

否则执行MYSQL数据库的查询时,就会出错,因为原来的代码里有一个BUG。

比特币源码入门教程

Python游戏开发入门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值