一 數據庫連接
from flask import Flask, render_template
from flask_sqlalchemy import SQLAlchemy
# import pymysql
app = Flask(__name__)
# 配置flask配置對象中鍵:SQLALCHEMY_DATABASE_URI
app.config['SQLALCHEMY_DATABASE_URI'] = "mysql+pymysql://root:123456@localhost/pythonstudy"
# 配置flask配置對象中鍵:SQLALCHEMY_COMMIT_TEARDOWN,設置爲True,應用會自動在每次請求結束後提交數據庫中變動
app.config['SQLALCHEMY_COMMIT_TEARDOWN'] = True
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
app.config['SQLALCHEMY_COMMIT_ON_TEARDOWN'] = True
# 獲取SQLAlchemy實例對象,接下來就可以使用對象調用數據
db = SQLAlchemy(app)
二 創建模型
# 創建模型對象
class User(db.Model):
__tablename__ = "user"
id = db.Column(db.Integer, primary_key=True)
user_name = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return '<User %r>' % self.username
三 實現增刪改查
@app.route('/userList')
def user_list():
# user_list = User.query.all()
user_list = User.query.order_by(User.id).all()
return render_template("user.html", user_list=user_list)
@app.route('/user_add')
def user_add():
u1 = User(user_name='zbz', email='[email protected]')
u2 = User(user_name='wzx', email='[email protected]')
db.session.add(u1)
db.session.add(u2)
db.session.commit()
return "OK"
@app.route('/user_delete')
def user_delete():
user = User.query.filter_by(id=1).first()
db.session.delete(user)
db.session.commit()
return "OK"
@app.route('/user_update')
def user_update():
user = User.query.filter_by(id=2).first()
user.email = "[email protected]"
db.session.commit()
return "ok"