flask框架使用orm连接数据库的方法示例


Posted in Python onJuly 16, 2018

本文实例讲述了flask框架使用orm连接数据库的方法。分享给大家供大家参考,具体如下:

注:使用前请安装flask_sqlalchemy包,由于python-mysql不适用于python3.6,所以我们使用pymysql进行替代

1. flask的app文件中输入以下代码

(文件名为:learn_flask_mysql_orm.py)

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:@127.0.0.1:3306/learn_flask_mysql"
#注:请勿忘记添加'+pymysql',否则将会出现没有安装mysqldb的报错
db = SQLAlchemy(app)
@app.route('/')
def hello_world():
  return 'Hello World!'
if __name__ == '__main__':
  app.run()

2. 在flask文件夹中新建一个models.py文件,并输入以下代码

from learn_flask_mysql_orm import db
class User(db.Model):
  __tablename__ = 'user'
  user_id = db.Column(db.INT,primary_key=True)
  user_name = db.Column(db.TEXT)
  def __init__(self,user_id,user_name):
    self.user_id = user_id
    self.user_name = user_name
  def __str__(self):
    return "id:{}  name:{}".format(self.user_id,self.user_name)

3. 在flask中新建一个manage.py文件,输入以下代码

from flask_script import Manager
from models import User
from learn_flask_mysql_orm import app,db
manager = Manager(app)
@manager.command
def save():
  user = User(11,'zhangjia11')
  db.session.add(user)
  db.session.commit()
@manager.command
def query_all():
  users = User.query.all()
  for user in users:
    print(user)
if __name__ == "__main__":
  manager.run()

之后使用python manage.py save即可保存数据,使用python manage.py qurey_all即可查询数据

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python中自定义函数的教程
Apr 27 Python
python如何在列表、字典中筛选数据
Mar 19 Python
python 移除字符串尾部的数字方法
Jul 17 Python
Python使用matplotlib绘制随机漫步图
Aug 27 Python
Django如何防止定时任务并发浅析
May 14 Python
python2和python3在处理字符串上的区别详解
May 29 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
Python利用全连接神经网络求解MNIST问题详解
Jan 14 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
python实例化对象的具体方法
Jun 17 Python
基于python实现操作git过程代码解析
Jul 27 Python
Django分页器的用法你都了解吗
May 26 Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 #Python
Sanic框架异常处理与中间件操作实例分析
Jul 16 #Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 #Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 #Python
Sanic框架请求与响应实例分析
Jul 16 #Python
解决Python 中英文混输格式对齐的问题
Jul 16 #Python
Django实战之用户认证(用户登录与注销)
Jul 16 #Python
You might like
php 求质素(素数) 的实现代码
2011/04/12 PHP
yii框架中的Url生产问题小结
2012/01/16 PHP
Apache服务器无法使用的解决方法
2013/05/08 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
2018/06/16 PHP
JQuery toggle使用分析
2009/11/16 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
javascript获取下拉列表框当中的文本值示例代码
2013/07/31 Javascript
Javascript实现滚动图片新闻的实例代码
2013/11/27 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
JS小游戏之宇宙战机源码详解
2014/09/25 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
vue中如何让子组件修改父组件数据
2018/06/14 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
微信小程序 函数防抖 解决重复点击消耗性能问题实现代码
2019/09/12 Javascript
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
[01:38]2018DOTA2亚洲邀请赛主赛事第二日现场采访 神秘商人痛陈生计不易
2018/04/05 DOTA
python 生成目录树及显示文件大小的代码
2009/07/23 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
利用Tkinter(python3.6)实现一个简单计算器
2017/12/21 Python
Python编程argparse入门浅析
2018/02/07 Python
代码详解django中数据库设置
2019/01/28 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
python实现上传文件到linux指定目录的方法
2020/01/03 Python
Python Pandas 对列/行进行选择,增加,删除操作
2020/05/17 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
2020/06/10 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
美国汽车轮胎和轮毂销售网站:Tire Rack
2018/01/11 全球购物
2015年护士节活动策划方案
2015/05/04 职场文书
邓小平文选读书笔记
2015/06/29 职场文书
vue实现同时设置多个倒计时
2021/05/20 Vue.js
JavaScript函数柯里化
2021/11/07 Javascript