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测试驱动开发实例
Oct 08 Python
Python 内置函数complex详解
Oct 23 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
利用python程序帮大家清理windows垃圾
Jan 15 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
django连接mysql配置方法总结(推荐)
Aug 18 Python
python中的print()输出
Apr 12 Python
docker-py 用Python调用Docker接口的方法
Aug 30 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Python使用正则表达式实现爬虫数据抽取
Aug 17 Python
基于 Python 实践感知器分类算法
Jan 07 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 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一个文件搞定微信jssdk配置
2016/12/12 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP获取当前日期及本周一是几月几号的方法
2017/03/28 PHP
PHPExcel实现的读取多工作表操作示例
2020/04/14 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
2011/01/11 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
用js的document.write输出的广告无阻塞加载的方法
2014/06/05 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
JS根据生日算年龄的方法
2015/05/05 Javascript
基于JavaScript 性能优化技巧心得(分享)
2017/12/11 Javascript
nodejs简单实现TCP服务器端和客户端的聊天功能示例
2018/01/04 NodeJs
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
微信小程序整合使用富文本编辑器的方法详解
2019/04/25 Javascript
关于vue路由缓存清除在main.js中的设置
2019/11/06 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
Python中list初始化方法示例
2016/09/18 Python
Python的SimpleHTTPServer模块用处及使用方法简介
2018/01/22 Python
在pycharm中使用git版本管理以及同步github的方法
2019/01/16 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
eBay奥地利站:eBay.at
2019/07/24 全球购物
应届毕业生求职信范文分享
2013/12/26 职场文书
关于工资低的辞职信
2014/01/14 职场文书
淘宝中秋节活动方案
2014/01/31 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
领导离职感言
2015/08/03 职场文书
干货!开幕词的写作方法
2019/04/02 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
spring cloud 配置中心客户端启动遇到的问题
2021/09/25 Java/Android
Python中with上下文管理协议的作用及用法
2022/03/18 Python