werkzeug实现简单Python web框架(4):添加orm支持
2017-09-04 11:37
811 查看
完整代码:
https://github.com/yangzhezjgs/Light/tree/master/webapp
orm代码:
参考前文 Python实现简单orm
将代码复制粘贴到orm.py文件即可。
下面我们用一个例子来说明这个简单orm的使用。
(1)新建 scheme.sql
(2)执行
(3)使用orm插入数据
新建demo.py
插入数据
(4)运行代码并验证
https://github.com/yangzhezjgs/Light/tree/master/webapp
orm代码:
参考前文 Python实现简单orm
将代码复制粘贴到orm.py文件即可。
下面我们用一个例子来说明这个简单orm的使用。
(1)新建 scheme.sql
drop database if exists my_user; create database my_user; use my_user; create table users ( `id` varchar(50) not null, `passwd` varchar(50) not null, `name` varchar(50) not null, primary key (`id`) ) engine=innodb default charset=utf8;
(2)执行
mysql -uroot -p <scheme.sql并输入密码。
(3)使用orm插入数据
新建demo.py
from webapp import WebApp,View,render_template from orm import Model,StringField class User(Model): __table__ = 'users' __database__='my_user' id = StringField(primary_key=True, ddl='varchar(50)') passwd = StringField(ddl='varchar(50)') name = StringField(ddl='varchar(50)') class Index(View): def GET(self,request): user1 = User.filter()[0] name = user1.get('name') return render_template("index.html",name=name) class Test(View): def GET(self,request,my_id): return "test",my_id urls = [ { 'url':'/', 'view':Index }, { 'url':'/test/<my_id>', 'view':Test } ] if __name__ == '__main__': app = WebApp() app.add_url_rule(urls) app.run()
插入数据
master@ubuntu:~/webapp$ python3 Python 3.6.0 |Anaconda 4.3.1 (64-bit)| (default, Dec 23 2016, 12:22:00) [GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> from demo import User >>> u = User(id=0,passwd='123456',name='xiaoming') >>> u.save() insert into `users` (`passwd`, `name`, `id`) values (?, ?, ?) ['123456', 'xiaoming', 0] insert into `users` (`passwd`, `name`, `id`) values ('123456', 'xiaoming', '0') ()
(4)运行代码并验证
相关文章推荐
- werkzeug实现简单Python web框架(2):添加jinjia2模板支持
- werkzeug实现简单Python web框架(3):添加动态路由
- werkzeug实现简单Python web框架(5):扩展思路
- werkzeug实现简单Python web框架(1):MVC模式
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- 循序渐进Python3(十二) --2-- web框架之django简单实现oracle数据库操作
- python实现简单redis客户端(3)使用asyncio添加异步支持
- 使用Python的web.py框架实现类似Django的ORM查询的教程
- polaris: 一个用go实现的支持restful的web框架
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- 用Python写一个简单的Web框架
- Python之构建一个简单的web.py框架的服务器
- Python学习 - 编写一个简单的web框架(二)
- python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
- 自己实现简单Web服务器,支持GET POST请求
- python+selenium+nose web简单自动化测试框架
- 简单而直接的Python web 框架:web.py
- 简单而直接的Python web 框架:web.py
- python+mysql实现简单的web程序
- 简单的电话本,支持添加和查询,python练手