天天看點

Flask架站基礎篇(七)--SQLAlchemy(1)

零、什麼是SQLAlchemy

SQLAlchemy是 Python 中常用的ORM架構

一、安裝

在指令行中打開虛拟環境,在虛拟環境中輸入如下指令:

pip install flask-sqlalchemy           

複制

二、設定連接配接字元串連接配接資料庫

1.初始化sqlalchemy對象

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
# 初始化sqlalchemy對象
db = SQLAlchemy(app)


@app.route('/')
def index():
    return 'index'

if __name__ == '__main__':
    app.run(debug=True)           

複制

2.設定連接配接字元串

DIALECT = 'mysql'  # 所連接配接的資料庫累心
DRIVER = 'mysqldb'  # 資料庫驅動名稱
USERNAME = 'root'  # 資料庫使用者名
PASSWORD = 'root'  # 資料庫密碼
HOST = '127.0.0.1'  # 資料庫位址
PORT = '3306'  # 資料庫端口号           

複制

3.引入配置檔案

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
# 引入config
import config

app = Flask(__name__)

# 設定配置
app.config.from_object(config)
# 初始化sqlalchemy對象
db = SQLAlchemy(app)
#驗證是否連接配接正确
db.create_all()


@app.route('/')
def index():
    return 'index'

if __name__ == '__main__': 
    app.run(debug=True)           

複制

三、模型與表映射

  1. 資料庫模型必須內建db.Model
  2. 如果表名稱沒有指定,将使用類名稱的小寫形式
  3. 表屬性名稱必須以開頭,以結尾
  4. 隻要是映射到資料庫的字段,必須=db.Column()
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)

# 資料庫模型必須繼承db.Model
class Article(db.Model):
    # 定義表名,如果不指定表名,将使用類名稱的小寫形式,
    # 表名屬性必須以__開頭__結尾
    __tablename__ = 'article'
    # 隻要是映射到資料庫的字段,必須=db.Column()
    # 參數解釋
    # db.Integer:資料類型,此處為整型
    # primary_key:是否是主鍵,此處是主鍵
    # autoincrement=True:是否自增長,此處是自增長
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    # db.String(100):最大長度為100的字元串類型
    # nullable:是否可以為空
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)

# 映射表
db.create_all()

@app.route('/')

def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run(debug=True)           

複制