1.Flask連接數據庫(mysql)
連接mysql共兩種寫法,一種寫在config.py裏面,另一種直接簡單粗暴一段話,這裏推薦簡單寫法如下:
#app.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #創建app對象
#上面都是基礎配置,下面是連接mysql的核心代碼
#連接數據庫 root:用戶名 123456:密碼 localhost:路徑 test:數據庫名
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test'
完善app.py如下
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #創建app對象
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test' #連接數據庫
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app) #創建db對象
db.create_all()
2.創建數據庫模型與表的映射
我們創建了一個Student類,id爲主鍵primary_key=True
class Student(db.Model): #創建數據庫模型類
__tablename__ = 'student' #表名稱
id = db.Column(db.Integer, primary_key=True) #id primary_key=True 主鍵
name = db.Column(db.String(100),nullable=False)
age = db.Column(db.Integer,nullable=False)
完整的app.py如下
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__) #創建app對象
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:123456@localhost/test' #連接數據庫
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db = SQLAlchemy(app) #創建db對象
class Student(db.Model): #創建數據庫模型類
__tablename__ = 'student' #表名稱
id = db.Column(db.Integer, primary_key=True) #id primary_key=True 主鍵
name = db.Column(db.String(100),nullable=False)
age = db.Column(db.Integer,nullable=False)
db.create_all()
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()