python開發之web篇-flask框架操作mysql數據庫

一  數據庫連接

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"

其他參考:https://www.cnblogs.com/lonelyhiker/p/8486221.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章