Python轻量级WEB框架web.py之操作数据库
以MYSQL做示例:
pip install pymysql
如果安装超时或其他原因不成功,选择下面的站点来安装
pip install -i https://pypi.douban.com/simple pymysql5.7版本的mysql,安装之后有问题,没有服务,也没有data和my.ini
my.ini
[client]
port = 3306
[mysql]
default-character-set=utf8
[mysqld]
port=3306
basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.7"
datadir="C:/Program Files (x86)/MySQL/MySQL Server 5.7/data"
character_set_server=utf8
default-storage-engine=INNODB管理员命令行来到C:\Program Files (x86)\MySQL\MySQL Server 5.7\bin之后
mysqld.exe install 安装服务
mysqld -initialize 新建data以及安装数据库第一次生成的随机密码在XXB-TONY.err文件最后
2019-11-29T13:24:23.648405Z 1 [Note] A temporary password is generated for root@localhost: 8Zue9Oa2to!e
mysql -u root -p
8Zue9Oa2to!e
进入之后修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';创建数据库,表和一些测试数据
CREATE DATABASE tonytest;
USE tonytest;
CREATE TABLE articles(id int,title varchar(20));
INSERT INTO articles VALUES(1,'大日经疏');
INSERT INTO articles VALUES(3,'六祖法宝坛经');
INSERT INTO articles VALUES(4,'佛陀传');
dbtest.py
# -*- coding: utf-8 -*-
import web
# import MySQLdb #python2
# import MySQLdb.cursors
import pymysql #python3
#pymysql.install_as_MySQLdb()render = web.template.render('templates/')
#模糊匹配范围小的在前面
urls = ('/article','article','/index', 'index','/blog/\d+','blog','/(.*)','view'
)
app = web.application(urls, globals())
class index:def GET(self):return web.seeother('/article') #return web.seeother('https://www.baidu.com')
class blog:def GET(self):return web.ctx.envdef POST(self):data = web.input()return data
class view:def GET(self, name):return open(r'templates/article.html').read()
class article:def GET(self):conn=pymysql.connect(host='localhost',user='root',passwd='root',db='tonytest',cursorclass=pymysql.cursors.DictCursor)cur=conn.cursor()cur.execute('SELECT * FROM articles')res=cur.fetchall()cur.close()conn.close()print(res)#[{'id': 1, 'title': '大日经疏'}, {'id': 3, 'title': '六祖法宝坛经'}, {'id': 4, 'title': '佛陀传'}]return render.article(res)
if __name__ == "__main__":app.run()
article.html
$def with(res)<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>article</title>
</head>
<body>
<ul>
$for r in res:<li>$r.get('id') ---- $r.get('title')</li>
</ul>
</body>
</html>
python dbtest.py 9998
http://localhost:9998/article
上面是读取数据,下面做个插入数据的示例:
insert.html,插入数据的输入页面
<html>
<head>
<title>INSERTTEST</title>
</head>
<body><form action="/adddel" method="POST">ID:<input type="text" name="bookid" value="">TITLE:<input type="text" name="booktitle" value=""><input type="submit" value="submit"></form>
</body>
</html>
dbtest.py
import web
import pymysql #python3render = web.template.render('templates/')
urls = ('/add','add','/adddel','adddel', '/article','article'
)
app = web.application(urls, globals())class add:def GET(self):return open(r'templates/insert.html').read()
class adddel:def POST(self):data = web.input()#return databid=data.bookidbtitle=data.booktitleconn=pymysql.connect(host='localhost',user='root',passwd='root',db='tonytest',cursorclass=pymysql.cursors.DictCursor)cur=conn.cursor()cur.execute("INSERT INTO articles(id,title) VALUES("+bid+",'"+btitle+"')")conn.commit()cur.close()conn.close()return web.seeother('/article') #return "INSERT INTO articles(id,title) VALUES("+bid+",'"+btitle+"')"
class article:def GET(self):conn=pymysql.connect(host='localhost',user='root',passwd='root',db='tonytest',cursorclass=pymysql.cursors.DictCursor)cur=conn.cursor()cur.execute('SELECT * FROM articles')res=cur.fetchall()cur.close()conn.close()return render.article(res)
if __name__ == "__main__":app.run()
其中插入数据需要注意conn.commit()提交,不然插入不了不会生效
python dbtest.py 9922
http://127.0.0.1:9922/add
Python轻量级WEB框架web.py之操作数据库相关推荐
- python上手--flask框架web开发实践-数据库
这篇文章,由易而难,步骤清晰,思路讲得很明白.花两小时跟着作者稻谷先生的这篇文章走一遍,对学习python使用Flask来开发web的应用很有帮助. python上手--flask框架web开发实践 ...
- 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、并且——queryset对象序列化...
第三百零九节,Django框架,models.py模块,数据库操作--F()和Q()运算符:|或者.&并且 F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from dj ...
- 【python轻量级中台框架开发第一层】 ORM flask-sqlacodegen
@[python](python轻量级中台框架开发第一层 ORM flask-sqlacodegen) 欢迎阅读,点评指正 任何系统或框架都离不开数据存储.所以任何的开始都是要保存下我们需要的东西. ...
- ci如何使用中$.ajax 中的 url 如何使用php的代码,CI框架中使用ajax操作数据库有关问题...
CI框架中使用ajax操作数据库问题 本帖最后由 A9925 于 2014-11-24 16:11:05 编辑 前台: //调用方法用ajax操作add_dbdata.php var xmlHttp ...
- Python轻量级WEB框架web.py,模板使用
首先是安装web.py,方法有几种,如下 pip install web.py==0.40 easy_install web.py 或者是下载http://webpy.org/install.zh-c ...
- Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)
阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...
- Python轻量级ORM框架——peewee
这里写目录标题 Python中常用的ORM框架 peewee使用经验 从数据库中导出模型 查询 统计类查询 优化子查询 参考文章 Python中常用的ORM框架 SQLALchemy:重量级框架,适合 ...
- web-基础入门-web框架-web服务器-wsgi接口
理解框架 框架就是把反复写反复用的东西,提练出来,组成的一个东西. 生活的情景,比如舞台的共享 开发的情景,比如,产生随机数,轮播图,分页等,需求一样,需要的时候直接调用就好.可以写成模块,用时调用. ...
- python与数据库完整项目_python入门:操作数据库项目实例分享
本文根据一个项目实例,记录分享一下python将数据库的内容提取显示到程序界面的过程及相关设置,探索python操作数据库的用法. 主要分享内容: 1.显示数据库内容. 2.修改数据库内容. 3.表格 ...
- Asp.Net MVC 自定义的MVC框架(非EF操作数据库)
一些废话:在北京辞职回家不知不觉中已经半年多了,这半年中有过很多的彷徨,困惑,还有些小小难受.半年时间算是我人生以来遇到过的最困苦的时候.理想的工作跟我擦肩而过,驾照也没有考过,年后这一改革...,毕 ...
最新文章
- 骚操作 | 不重启 JVM,替换掉已经加载的类,偷天换日?
- 区域医疗卫生信息化建设将成投资重点
- Oracle配置方面问题收集
- 手把手教你在ubuntu上安装LAMP
- python科学计算笔记(三)pandas中Series和DataFrame练习
- 二:熟悉 TCP/IP 协议
- C#LeetCode刷题之#53-最大子序和(Maximum Subarray)
- 理解Java对象序列化——Serializable接口
- 机器人教室外墙_智慧教室之机器人创客教室建设方案
- 【地理信息技术】 上机04 栅格数据的空间分析(一) 学校选址分析
- 计算机毕业论文任务书模板,计算机毕业论文设计任务书范文计算机系毕业论文任务书上的方法写.doc...
- MacBook远程控制工具VNC Viewer_亲测使用
- 智能电视的“假聪明”与“真智慧”
- asp.net母版页学习总结
- 视频,图像,像素,分辨率,RGB, YUV简单说明
- matlab调整文字方向,MATLAB改变ylabel文字方向以及截边
- FleaPHP 学习笔记2
- java毕业设计流浪猫狗救助网站源码+lw文档+mybatis+系统+mysql数据库+调试
- 学生选课系统项目设计报告
- Delphi下的MPS
热门文章
- vmware虚拟机磁盘挂载
- MVC实战之排球计分(六)—— 使用EF框架,创建Controller,生成数据库。
- ckeditor编辑的使用方法
- mysql 语句中的national 、 comment
- 技术圈儿001---分布式事务最经典的七种解决方案
- Sharding-Sphere,Sharding-JDBC_分库分表(水平分库_水平分表)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记004
- uniapp---使用浏览器_Android真机_Iphone真机实时展示uniapp_一次开发_小程序_Android_IOS_快应用通用工作笔记003
- java零碎要点---Tesseract 3.0,Java OCR 图像智能字符识别技术,可识别中文
- SVM支持向量机,我用到的自学材料
- 杭电2897邂逅明下邂逅明下