flask操作数据库相关配置及实现示例步骤全解
作者:weibin python学习与大数据分析
这篇文章主要介绍了flask操作数据库相关配置及实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
引言
今天上纯干货,直接上代码了(下面的代码是我工作中实际使用的代码,已经验证可以正确地向数据库中添加记录)。
一、在配置文件config.py中添加MySQL数据库的相关配置
DRIVER = 'pymysql' USERNAME = "admin" PASSWORD = "admin+123" # 每个人设置的名字和账号会不同,这里是自己设定的账号密码 HOST = '127.0.0.1' PORT = '3306' DATABASE = 'testdb' # 这里是数据库文件名 SQLALCHEMY_DATABASE_URI = '{}+{}://{}:{}@{}:{}/{}?charset=utf8'.format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT, DATABASE) SQLALCHEMY_TRACK_MODIFICATIONS = True SQLALCHEMY_ECHO = True
二、在msyqlconfig.py中创建数据库全局实例
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
三、将该实例绑定到app中,供整个项目的多个蓝图共同使用
from flask import Flask from config.mysqlconfig import db from models import usermodel,assetmodel # 在调用create_all()之前,必须导入需要操作的模型,否则不会创建表 app = Flask(__name__) # 初始化flask应用 app.config.from_object('config.config') db.init_app(app) #使用app对sqlalchemy进行初始化绑定 with app.app_context(): db.create_all() # 在调用create_all()之前,必须导入需要操作的模型,否则不会创建表 from api.userapi import user_blueprint from api.testdataapi import testdata_blueprint app.register_blueprint(user_blueprint) # 将管理员的蓝图注册到应用中 app.register_blueprint(testdata_blueprint) # 将测试数据管理的蓝图注册到应用中
四、在models/定义数据库模型
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)
五、完善后端接口,实现调用接口时将数据插入到数据库表
@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操作数据库相关配置及实现示例步骤全解的详细内容,更多关于flask操作数据库的资料请关注脚本之家其它相关文章!