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之编写简单乘法口诀表实现代码
Feb 27 Python
Python pass详细介绍及实例代码
Nov 24 Python
用python实现对比两张图片的不同
Feb 05 Python
python实现自动登录
Sep 17 Python
解决python3中cv2读取中文路径的问题
Dec 05 Python
Python实现的银行系统模拟程序完整案例
Apr 12 Python
python使用sessions模拟登录淘宝的方式
Aug 16 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
Feb 25 Python
Python使用Chrome插件实现爬虫过程图解
Jun 09 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 Python
Python使用xpath实现图片爬取
Sep 16 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
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
利用PHP动态生成VRML网页
2006/10/09 PHP
PHP 得到根目录的 __FILE__ 常量
2008/07/23 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
Extjs4 GridPanel 的几种样式使用介绍
2013/04/18 Javascript
javascript常见用法总结
2014/05/22 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
2014/07/23 Javascript
实例讲解javascript注册事件处理函数
2016/01/09 Javascript
js实现加载更多功能实例
2016/10/27 Javascript
js鼠标移动时禁止选中文字
2017/02/19 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
利用webstrom调试Vue.js单页面程序的方法教程
2017/06/06 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
详解vue项目中调用百度地图API使用方法
2019/04/25 Javascript
Layui 解决表格异步调用后台分页的问题
2019/10/26 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
Python实现删除当前目录下除当前脚本以外的文件和文件夹实例
2015/07/27 Python
python基础教程之五种数据类型详解
2017/01/12 Python
[原创]python爬虫(入门教程、视频教程)
2018/01/08 Python
python unittest实现api自动化测试
2018/04/04 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
2019/09/18 Python
详解python中各种文件打开模式
2020/01/19 Python
Kenneth Cole官网:纽约时尚优雅品牌
2016/11/14 全球购物
Moda Operandi官网:美国奢侈品电商,海淘秀场T台同款
2020/05/26 全球购物
经典广告词大全
2014/03/14 职场文书
公司总经理任命书
2014/06/05 职场文书
公司演讲稿开场白
2014/08/25 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
教师作风整改措施思想汇报
2014/10/12 职场文书
史上最牛辞职信
2015/05/13 职场文书
村主任当选感言
2015/08/01 职场文书