flask使用orm連線資料庫
阿新 • • 發佈:2019-02-18
注:使用前請安裝flask_sqlalchemy包,由於python-mysql不適用於python3.6,所以我們使用pymysql進行替代
1.flask的app檔案中輸入以下程式碼
(檔名為:learn_flask_mysql_orm.py)
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"]="mysql+pymysql://root:@127.0.0.1:3306/learn_flask_mysql"
#注:請勿忘記新增'+pymysql',否則將會出現沒有安裝mysqldb的報錯
db = SQLAlchemy(app)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
2.在flask資料夾中新建一個models.py檔案,並輸入以下程式碼
from learn_flask_mysql_orm import db
class User(db.Model):
__tablename__ = 'user'
user_id = db.Column(db.INT,primary_key=True )
user_name = db.Column(db.TEXT)
def __init__(self,user_id,user_name):
self.user_id = user_id
self.user_name = user_name
def __str__(self):
return "id:{} name:{}".format(self.user_id,self.user_name)
3.在flask中新建一個manage.py檔案,輸入以下程式碼
from flask_script import Manager
from models import User
from learn_flask_mysql_orm import app,db
manager = Manager(app)
@manager.command
def save():
user = User(11,'zhangjia11')
db.session.add(user)
db.session.commit()
@manager.command
def query_all():
users = User.query.all()
for user in users:
print(user)
if __name__ == "__main__":
manager.run()
之後使用python manage.py save
即可儲存資料,使用python manage.py qurey_all
即可查詢資料