我是靠谱客的博主 平淡菠萝,这篇文章主要介绍python web py入门(4)-从数据库读取数据显示到网页,现在分享给大家,希望可以做个参考。

在你开始使用数据库之前,确保你已经安装了合适的数据库访问库。比如对于MySQL数据库,使用mysql-connector客户端来连接。
下载Mysql数据并安装:
从下面的连接里下载到Mysql数据库,它的版本是mysql-5.5.59-winx64.msi,这个适合Windows 64位版本,如果是linux你自己下载相应的版本。

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


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

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

在VC2015里学会使用MySQL数据库
http://edu.csdn.net/course/detail/2672

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


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


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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
-- 配置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语句之后,就会创建一个论坛的数据库,但是为了简单地测试,我在这个数据库添加了自己的测试表:

复制代码
1
2
3
4
5
6
7
8
9
10
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可以查询到数据:

复制代码
1
INSERT INTO `forum`.`mintest` (`email`, `NAME`) VALUES ('90732041@qq.com', 'caimouse1');

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


接着下来,就是创建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)
<ul>
$for test in mintests:
    <li id="t$test.id">$test.email</li>
    <li id="t$test.id">$test.NAME</li>
</ul>

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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()

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


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

https://github.com/9073204qq/webpy

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

TensorFlow API攻略
http://edu.csdn.net/course/detail/4495
TensorFlow入门基本教程
http://edu.csdn.net/course/detail/4369

比特币源码入门教程

https://edu.csdn.net/course/detail/6998

深入浅出Matplotlib
https://edu.csdn.net/course/detail/6859

深入浅出Numpy
http://edu.csdn.net/course/detail/6149 

Python游戏开发入门

http://edu.csdn.net/course/detail/5690

最后

以上就是平淡菠萝最近收集整理的关于python web py入门(4)-从数据库读取数据显示到网页的全部内容,更多相关python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部