Python使用Flask-SQLAlchemy连接数据库操作示例


Posted in Python onAugust 31, 2018

本文实例讲述了Python使用Flask-SQLAlchemy连接数据库操作。分享给大家供大家参考,具体如下:

需要安装flask

pip install flask

安装Mysql-Python (这个是py的mysql驱动,这个在官方没有win的支持,只有第三方才有py2.7的whl)

pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl

注:上述whl文件也可点击此处链接下载到本地安装:https://www.lfd.uci.edu/~gohlke/pythonlibs/

安装 Flask-SQLAlchemy

pipi install Flask-SQLAlchemy

注意,如果出现了编码问题,安装的时候,有可能是终端的编码有问题,我换成了git bash shell就没问题了。

myflask.py

#coding:utf-8
from flask import Flask
#安装 python-mysql 因为没有官方支持win版本,只有网上有whl下载
#pip install flask_sqlalchemy
from flask_sqlalchemy import SQLAlchemy
import config #config.py导入
app = Flask(__name__)
app.config.from_object(config)  #SQLALchemy会自动从配置文件读取那个固定的URI字符串
db=SQLAlchemy(app)
db.create_all()
@app.route('/')
def hello_world():
  return '你好世界'
if(__name__=='__main__'):
  app.run(debug=True) #开启debug模式,这里如果出错会直接有提示

config.py

#coding:utf-8
#dialect+driver://username:password@host:port/database
DIALECT='mysql'
DRIVER='mysqldb'
USERNAME='root'
PASSWORD='root'
HOST='127.0.0.1'
PORT='3306'
DATABASE='flask0'
#这个连接字符串变量名是固定的具体 参考 flask_sqlalchemy 文档 sqlalchemy会自动找到flask配置中的 这个变量
SQLALCHEMY_DATABASE_URI='{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT,DRIVER,USERNAME,PASSWORD,HOST,PORT,DATABASE)

运行看控制台:(有一些无关紧要的警告,可以不管)

D:\Python27\python.exe D:/PythonProjects/learn0/myflask.py
D:\Python27\lib\site-packages\flask_sqlalchemy\__init__.py:794: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
D:\Python27\lib\site-packages\sqlalchemy\engine\default.py:470: Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 478
  cursor.execute(statement, parameters)
 * Restarting with stat
D:\Python27\lib\site-packages\flask_sqlalchemy\__init__.py:794: FSADeprecationWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future.  Set it to True or False to suppress this warning.
  'SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and '
D:\Python27\lib\site-packages\sqlalchemy\engine\default.py:470: Warning: Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 478
  cursor.execute(statement, parameters)
 * Debugger is active!
 * Debugger PIN: 164-312-281
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [18/Oct/2017 16:01:03] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [18/Oct/2017 16:01:04] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [18/Oct/2017 16:01:06] "GET / HTTP/1.1" 200 -

希望本文所述对大家基于flask框架的Python程序设计有所帮助。

Python 相关文章推荐
解决pyqt中ui编译成窗体.py中文乱码的问题
Dec 23 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python实现爬虫设置代理IP和伪装成浏览器的方法分享
May 07 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
Python实现搜索算法的实例代码
Jan 02 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
Python环境下安装PyGame和PyOpenGL的方法
Mar 25 Python
python 穷举指定长度的密码例子
Apr 02 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
python中使用 unittest.TestCase单元测试的用例详解
Aug 30 Python
Python字符串格式化方式
Apr 07 Python
Python 视频画质增强
Apr 28 Python
浅谈Python traceback的优雅处理
Aug 31 #Python
python梯度下降法的简单示例
Aug 31 #Python
wxPython的安装与使用教程
Aug 31 #Python
python traceback捕获并打印异常的方法
Aug 31 #Python
基于python中theano库的线性回归
Aug 31 #Python
基于随机梯度下降的矩阵分解推荐算法(python)
Aug 31 #Python
python实现梯度下降算法
Mar 24 #Python
You might like
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
关于PHP虚拟主机概念及如何选择稳定的PHP虚拟主机
2018/11/20 PHP
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
vue.js实现单选框、复选框和下拉框示例
2017/07/18 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
详解Eslint 配置及规则说明
2018/09/10 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
python用于url解码和中文解析的小脚本(python url decoder)
2013/08/11 Python
python调用java的Webservice示例
2014/03/10 Python
python字典的常用操作方法小结
2016/05/16 Python
Python编程django实现同一个ip十分钟内只能注册一次
2017/11/03 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
2020/01/09 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
2014/04/14 HTML / CSS
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
Nanushka官网:匈牙利服装品牌
2019/08/14 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
业务部主管岗位职责
2014/01/29 职场文书
学生安全教育材料
2014/02/14 职场文书
王老吉广告词
2014/03/20 职场文书
工程售后服务承诺书
2014/05/21 职场文书
2015年考研复习计划
2015/01/19 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
小学教师教学反思
2016/02/24 职场文书
SQLServer中JSON文档型数据的查询问题解决
2021/06/27 SQL Server