flask操作數(shù)據(jù)庫相關配置及實現(xiàn)示例步驟全解
更新時間:2024年01月23日 09:32:59 作者:weibin python學習與大數(shù)據(jù)分析
這篇文章主要介紹了flask操作數(shù)據(jù)庫相關配置及實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
引言
今天上純干貨,直接上代碼了(下面的代碼是我工作中實際使用的代碼,已經(jīng)驗證可以正確地向數(shù)據(jù)庫中添加記錄)。
一、在配置文件config.py中添加MySQL數(shù)據(jù)庫的相關配置
DRIVER = 'pymysql'
USERNAME = "admin"
PASSWORD = "admin+123" # 每個人設置的名字和賬號會不同,這里是自己設定的賬號密碼
HOST = '127.0.0.1'
PORT = '3306'
DATABASE = 'testdb' # 這里是數(shù)據(jù)庫文件名
SQLALCHEMY_DATABASE_URI = '{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT,
DATABASE)
SQLALCHEMY_TRACK_MODIFICATIONS = True
SQLALCHEMY_ECHO = True二、在msyqlconfig.py中創(chuàng)建數(shù)據(jù)庫全局實例
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
三、將該實例綁定到app中,供整個項目的多個藍圖共同使用
from flask import Flask
from config.mysqlconfig import db
from models import usermodel,assetmodel # 在調(diào)用create_all()之前,必須導入需要操作的模型,否則不會創(chuàng)建表
app = Flask(__name__) # 初始化flask應用
app.config.from_object('config.config')
db.init_app(app) #使用app對sqlalchemy進行初始化綁定
with app.app_context():
db.create_all() # 在調(diào)用create_all()之前,必須導入需要操作的模型,否則不會創(chuàng)建表
from api.userapi import user_blueprint
from api.testdataapi import testdata_blueprint
app.register_blueprint(user_blueprint) # 將管理員的藍圖注冊到應用中
app.register_blueprint(testdata_blueprint) # 將測試數(shù)據(jù)管理的藍圖注冊到應用中四、在models/定義數(shù)據(jù)庫模型
from config.mysqlconfig import db
from views.responsehandler import *
class AssetModel(db.Model):
__tablename__ = 'asset'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
init_date = db.Column(db.DateTime, nullable=False)
user_name = db.Column(db.String(20), unique=True, nullable=False)
fund_account = db.Column(db.String(20), nullable=False)
fund_days = db.Column(db.String(30), nullable=False)
fund_money = db.Column(db.String(20), nullable=False)
update_time = db.Column(db.DateTime, nullable=False)
def __init__(self, user_name, init_date,fund_account, fund_days, fund_money, update_time):
self.user_name = user_name
self.init_date = init_date
self.fund_account = fund_account
self.fund_days = fund_days
self.fund_money = fund_money
self.update_time = str(update_time)五、完善后端接口,實現(xiàn)調(diào)用接口時將數(shù)據(jù)插入到數(shù)據(jù)庫表
@testdata_blueprint.route('/add_data', methods=['POST'])
def add_data():
username = request.form.get('username')
fund_account = request.form.get("account")
days = request.form.get("days")
asset = request.form.get("asset")
try:
fund_account = int(fund_account)
days = int(days)
asset = float(asset)
total_asset = days * asset
init_date = update_time=time.strftime("%Y-%m-%d",time.localtime())
except Exception as e:
print(e)
asset_data = AssetModel(init_date=init_date,user_name=username,fund_account=fund_account,fund_days=days,fund_money=total_asset,update_time=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) )
db.session.add(asset_data)
db.session.commit()以上就是flask操作數(shù)據(jù)庫相關配置及實現(xiàn)示例步驟全解的詳細內(nèi)容,更多關于flask操作數(shù)據(jù)庫的資料請關注腳本之家其它相關文章!
相關文章
使用pycharm連接讀取orcl數(shù)據(jù)庫的表的操作方法
這篇文章主要介紹了使用pycharm連接讀取orcl數(shù)據(jù)庫的表的操作方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
每個 Python 開發(fā)者都應該知道的7種好用工具(效率翻倍)
Python 從一種小的開源語言開始,到現(xiàn)在,它已經(jīng)成為開發(fā)者很受歡迎的編程語言之一。這篇文章主要介紹了每個 Python 開發(fā)者都應該知道的7種好用工具(效率翻倍),需要的朋友可以參考下2021-03-03
500行代碼使用python寫個微信小游戲飛機大戰(zhàn)游戲
這篇文章主要介紹了500行代碼使用python寫個微信小游戲飛機大戰(zhàn)游戲,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10
Python帶動態(tài)參數(shù)功能的sqlite工具類
這篇文章主要介紹了Python帶動態(tài)參數(shù)功能的sqlite工具類,涉及Python針對sqlite數(shù)據(jù)庫的連接、查詢、sql語句執(zhí)行等相關操作封裝與使用技巧,需要的朋友可以參考下2018-05-05

