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

 更新时间:2018年08月31日 11:44:56   作者:涵涵YH  
这篇文章主要介绍了Python使用Flask-SQLAlchemy连接数据库操作,简单介绍了flask、Mysql-Python以及Flask-SQLAlchemy的安装方法,并结合实例形式分析了基于Flask-SQLAlchemy的数据库连接相关操作技巧,需要的朋友可以参考下

本文实例讲述了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 中如何实现参数化测试的方法示例

    这篇文章主要介绍了Python 中如何实现参数化测试的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • django-celery-beat搭建定时任务的实现

    django-celery-beat搭建定时任务的实现

    本文主要介绍了django-celery-beat搭建定时任务的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 原理解析为什么pydantic可变对象没有随着修改而变化

    原理解析为什么pydantic可变对象没有随着修改而变化

    这篇文章主要介绍了为什么pydantic可变对象没有随着修改而变化的原因解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • python3.5 tkinter实现页面跳转

    python3.5 tkinter实现页面跳转

    这篇文章主要为大家详细介绍了python3.5 tkinter实现页面跳转,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • python 远程统计文件代码分享

    python 远程统计文件代码分享

    享一个Python获取远程文件大小的函数代码,简单实用,是学习Python编程的基础实例。
    2015-05-05
  • Python2比较当前图片跟图库哪个图片相似的方法示例

    Python2比较当前图片跟图库哪个图片相似的方法示例

    这篇文章主要介绍了Python2比较当前图片跟图库哪个图片相似的方法,结合实例形式分析了Python文件目录操作及图形运算相关使用技巧,需要的朋友可以参考下
    2019-09-09
  • python的多线程原来可以这样解

    python的多线程原来可以这样解

    这篇文章主要为大家介绍了python的多线程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • python nohup 实现远程运行不宕机操作

    python nohup 实现远程运行不宕机操作

    这篇文章主要介绍了python nohup 实现远程运行不宕机操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Keras 中Leaky ReLU等高级激活函数的用法

    Keras 中Leaky ReLU等高级激活函数的用法

    这篇文章主要介绍了Keras 中Leaky ReLU等高级激活函数的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python PyPDF2模块安装使用解析

    Python PyPDF2模块安装使用解析

    这篇文章主要介绍了Python PyPDF2模块安装使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01

最新评论