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 相关文章推荐
python使用mysql数据库示例代码
May 21 Python
Python简单实现控制电脑的方法
Jan 22 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
Apr 02 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
python 定时器,轮询定时器的实例
Feb 20 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
Sep 04 Python
通过代码简单了解django model序列化作用
Nov 12 Python
tensorflow与numpy的版本兼容性问题的解决
Jan 08 Python
python requests模块的使用示例
Apr 07 Python
pytorch 6 batch_train 批训练操作
May 28 Python
关于python爬虫应用urllib库作用分析
Sep 04 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计算十二星座的函数代码
2012/08/21 PHP
php常用hash加密函数
2014/11/22 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Date对象格式化函数代码
2010/07/17 Javascript
纯js实现背景图片切换效果代码
2010/11/14 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
jQuery的DOM操作之删除节点示例
2014/01/03 Javascript
JavaScript实现查找字符串中第一个不重复的字符
2014/12/29 Javascript
javascript实现画不相交的圆
2015/04/07 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
学好js,这些js函数概念一定要知道【推荐】
2017/01/19 Javascript
NodeJS收发GET和POST请求的示例代码
2017/08/25 NodeJs
jQuery图片加载失败替换默认图片方法汇总
2017/11/29 jQuery
对layui初始化列表的CheckBox属性详解
2019/09/13 Javascript
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
js实现日历
2020/11/07 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python实现图片识别汽车功能
2018/11/30 Python
python导入坐标点的具体操作
2019/05/10 Python
简单了解python高阶函数map/reduce
2019/06/28 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
python requests.get带header
2020/05/05 Python
Python使用struct处理二进制(pack和unpack用法)
2020/11/12 Python
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
英国儿童鞋和靴子:Start-Rite
2019/05/06 全球购物
购买原创艺术品:Zatista
2019/11/09 全球购物
专业销售业务员求职信
2013/11/18 职场文书
项目副经理岗位职责
2013/12/30 职场文书
《王二小》教学反思
2014/02/27 职场文书
2014年母亲节寄语
2014/05/07 职场文书
鸦片战争观后感
2015/06/09 职场文书
小学生安全教育心得体会
2016/01/15 职场文书
初中信息技术教学反思
2016/02/16 职场文书
诚信高考倡议书
2019/06/24 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书