flask框架实现连接sqlite3数据库的方法分析
时间:2019-12-04来源:系统城作者:电脑系统城
本文实例讲述了flask框架实现连接sqlite3数据库的方法。分享给大家供大家参考,具体如下:
1. 在flask文件夹中新建一个models.py文件用来定义模型,内部代码如下
- import sqlite3 #导入sqlite3包
- def get_conn():
- #定义该函数用来连接数据库
- return sqlite3.connect("test.db")
- class User(object):
- def __init__(self,id,name):
- self.id = id
- self.name = name
- def save(self):
- sql = "insert into user VALUES (?,?)"#sql语句
- conn = get_conn()#连接数据库
- cursor = conn.cursor()#定义一个游标
- cursor.execute(sql,(self.id,self.name))#执行sql语句
- conn.commit()#提交数据库改动
- cursor.close()#关闭游标
- conn.close()#关闭数据库连接
- '''
- staticmethod相当于一个定义在类里面的函数,所以如果一个方法既不跟实例
- 相关也不跟特定的类相关,推荐将其定义为一个staticmethod,这样不仅使代
- 码一目了然,而且似的利于维护代码。
- '''
- @staticmethod
- def query():
- sql = "select * from user"
- conn = get_conn()
- cursor = conn.cursor()
- rows = cursor.execute(sql)
- users = []
- for row in rows:
- user = User(row[0],row[1])
- users.append(user)
- conn.commit()
- cursor.close()
- conn.close()
- return users
- def __str__(self):
- return 'id:{}--name:{}'.format(self.id,self.name)#注此处的是点不是逗号
2. 在flask文件夹中新建一个manage.py文件
(1)导入flask_script
包,导入sqlite3包,导入models.py中定义的模型,导入flask中的应用,所以最终头部代码如下
- from flask_script import Manager
- from learn_flask_script import app
- import sqlite3
- from models import User
-
(2)创建数据库,代码如下
- @manager.command
- def init_db():
- sql = "create table user (id INT,name TEXT)"
- conn = sqlite3.connect("test.db")
- cursor = conn.cursor()
- cursor.execute(sql)
- conn.commit()
- cursor.close()
- conn.close()
-
(3)保存数据,代码如下
- @manager.command
- def save():
- user = User(1,'csdn')
- user.save()
-
(4)查询数据,代码如下
- @manager.command
- def query_all():
- users = User.query()
- for user in users:
- print(user)
-
整体代码如下
- from flask_script import Manager
- from learn_flask_script import app
- import sqlite3
- from models import User
- manager = Manager(app)
- @manager.command
- def init_db():
- sql = "create table user (id INT,name TEXT)"
- conn = sqlite3.connect("test.db")
- cursor = conn.cursor()
- cursor.execute(sql)
- conn.commit()
- cursor.close()
- conn.close()
- @manager.command
- def save():
- user = User(1,'zhangjia')
- user.save()
- @manager.command
- def query_all():
- users = User.query()
- for user in users:
- print(user)
- if __name__ == "__main__":
- manager.run()
-
3. 在终端中使用命令即可运行数据库的创建,添加以及查询
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
相关信息