欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-10-17 10:41:18
本文实例讲述了python使用flask-sqlalchemy连接数据库操作。分享给大家供大家参考,具体如下: 需要安装flask pip install fl...

本文实例讲述了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文件也可点击此处链接下载到本地安装:

安装 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 (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程序设计有所帮助。