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

作者:涵涵YH 时间:2024-01-27 10:34:36 

本文实例讲述了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程序设计有所帮助。

来源:https://blog.csdn.net/u012997311/article/details/78273844

标签:Python,Flask-SQLAlchemy,数据库
0
投稿

猜你喜欢

  • PHP global全局变量经典应用与注意事项分析【附$GLOBALS用法对比】 <font color=red>原创</font>

    2023-11-16 07:37:55
  • 超详细卸载mysql教程(按照步骤可完全卸载)

    2024-01-25 08:21:00
  • tkinter如何实现label超链接调用浏览器打开网址

    2023-04-05 15:08:20
  • ORM Django 终端打印 SQL 语句实现解析

    2023-08-30 04:56:39
  • Pandas DataFrame操作数据增删查改

    2022-07-10 09:37:39
  • JS从一组数据中找到指定的单条数据的方法

    2024-05-03 15:07:25
  • PHP使用flock实现文件加锁的方法

    2023-10-29 21:26:59
  • python数字图像处理之基本图形的绘制

    2021-10-21 05:29:42
  • Vue Element使用icon图标教程详解(第三方)

    2023-07-02 16:28:43
  • 浅谈Python 中的复数问题

    2023-04-22 17:02:11
  • MySQL慢查询日志超详细总结

    2024-01-17 00:17:21
  • 一文详解websocket在vue2中的封装使用

    2024-05-02 17:08:54
  • 自动备份Oracle数据库

    2024-01-20 15:08:14
  • python办公之python编辑word

    2022-03-31 08:48:40
  • js判断密码强度的方法

    2024-04-19 10:58:24
  • sqlserver 多库查询 sp_addlinkedserver使用方法(添加链接服务器)

    2011-09-30 11:49:22
  • Mango Cache缓存管理库TinyLFU源码解析

    2023-09-02 12:27:51
  • 分析python并发网络通信模型

    2023-12-15 11:13:59
  • Python深度学习理解pytorch神经网络批量归一化

    2021-09-26 06:38:53
  • python用Tkinter做自己的中文代码编辑器

    2023-08-12 05:32:33
  • asp之家 网络编程 m.aspxhome.com