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语句:
-- 配置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');
这时候,在这个表里就有几条数据,至于几条数据,就看你自己的操作了,如下:
接着下来,就是创建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>
这个模板就是把数据库的结果显示到页面里。完整的代码如下:
#python 3.6
#蔡军生
#http://blog.csdn.net/caimouse/article/details/51749579
#
import weburls = ('/', '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游戏开发入门
python web py入门(4)-从数据库读取数据显示到网页相关推荐
- python web py入门-1-web.py简介和安装
背景 记录python web.py开发入门学习的过程,主要想通过这个入门,然后继续去学习python Django框架开发课程.目前我的个人技能状态是,稍微懂点selenium webUI自动化测试 ...
- python web py入门(3)-模板
WEB服务器在生成HTML网页时,有两个选择,一个是从代码里嵌入HTML来生成HTML页面返回,另一个是从HTML代码里嵌入执行代码来生成HTML页面返回.这两种方式,其实都有使用,比如在嵌入式系统里 ...
- python web py入门(1)-web.py简介和安装
1.web.py 简介 web.py是一个轻量级的python web框架,简单而且功能强大.相对flask和Django,web.py更适合初学者来学习和了解web开发的基础知识. 2.web.py ...
- python web py入门(6)-webpy在模板里使用code代码段错误的问题
像下面这段代码在WEBPY 0.40里会发现出错: $def with (page_posts, page_count, page)$code:grace = 5range = grace * 2st ...
- python web py入门(2)-URL处理
本文介绍URL映射,在介绍映射之前,我们先了解下什么是URL? URL(Uniform/Universal Resource Locator的缩写,统一资源定位符)是对可以从互联网上得到的资源的位置和 ...
- python web py入门-7-响应处理(下)
前面我们介绍了响应处理的两种方式,这边学习如何从数据库获取结果.简单来说,就是从数据库查询数据并显示在前端html页面上.因为涉及到数据库,所以,我们这里先要安装一个数据库软件,这里用mysql,具体 ...
- python web py入门(13)- 实现发贴到论坛
在前面已经说明白了实现登录论坛,当你进入论坛之后,一般就是想发表文章,简称为贴子,那么怎么样把你的文章从浏览器里发送给WEB服务器呢?其实这个过程还是比较复杂的,首先要在浏览器里实现一个编辑器,它是使 ...
- python web py入门(14)- 实现从论坛里查看某一主题
前面介绍了怎么样发贴到论坛,其实论坛之所以吸引人,是因为论坛可以让所有人围绕这一个主题进行深入的讨论和学习.因此,实现论坛里,必须有查看一个主题内容和它所有的评论,在这里就介绍这个过程的实现. 与前面 ...
- python web py入门-4-请求处理(上)
这篇我们来介绍一下请求处理过程.其实,在前面python中requests做接口自动化的系列讲过请求和响应.服务器需要对客户端发送的请求,进行解析和处理.我们在前面文章介绍的URL映射,每次输入新的U ...
最新文章
- React 入门笔记 1
- 期望最大EM(Expectation Maximum)算法是什么?为什么有时候不用梯度下降而是用EM算法
- java enum 定义属性_java enum(枚举)使用详解 + 总结
- iptables nat实验_【零基础学云计算】LVS负载均衡群集之NAT模式搭建 (实践篇)...
- 题目1452:搬寝室(dp题目)
- 什么是5G NR技术?一文带你深入了解5G NR技术
- JN_0005:PS改变图片指定内容颜色
- 世界上速度最慢的10种动物,做什么都慢半拍
- Dalvik虚拟机的内存管理
- JAVA对象属性方法的使用
- 【转载】卸载Sql Server 2014数据库
- 地图的legend点击事件_手把手教你实现3D地图的定时高亮和点击事件
- JavaScript注释
- CDA Level I 模拟题(1)【附答案解析】
- 阿里开源配置服务diamond分析
- 5G聚合路由器助力无人机监控盲区打好疫情阻击战
- IDELAY输入延迟分析
- codeforces 545 Round #303 (Div. 2) E Paths and Trees
- ebs 系统 登录 java_Oracle EBS登录页面显示空白
- 加密解密软件VMProtect教程(八)许可制度之序列号生成器
热门文章
- 法力无边的stage-0
- 使用Python播放MIDI音符
- sudo rosdep init找不到命令或失败解决办法
- 快手基于 Flink 构建实时数仓场景化实践
- Word文档怎么翻译?翻译word文档简单步骤讲解
- 机器学习笔记——神经网络与深度学习
- OpenWrt-路由器上的linux
- SpringCloud项目搭建(六) —elastic-job的使用,以及consul的配置使用(衔接上篇)
- zpl指令打印中文内容_大疆机甲大师Python开发: 中文命名变量初尝试
- java基础巩固-宇宙第一AiYWM:为了维持生计,单例模式阅读总结【单例模式不同写法、在JDK中的应用】~整起