天天看點

Python使用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:[email protected]: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 -
           
學習python給大家推薦一個高品質的python學習裙:778口口747口口511