flask操作数据库相关配置及实现示例步骤全解

 更新时间:2024年01月23日 09:32:59   作者: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操作数据库的资料请关注脚本之家其它相关文章!

相关文章

  • Cython 三分钟入门教程

    Cython 三分钟入门教程

    根据一些我收到的反馈,大家似乎有点混淆——Cython是用来生成 C 扩展到而不是独立的程序的。所有的加速都是针对一个已经存在的 Python 应用的一个函数进行的。
    2009-09-09
  • 在 Python 中如何将天数添加到日期

    在 Python 中如何将天数添加到日期

    这篇文章主要介绍了在 Python 中将天数添加到日期,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • 使用pycharm连接读取orcl数据库的表的操作方法

    使用pycharm连接读取orcl数据库的表的操作方法

    这篇文章主要介绍了使用pycharm连接读取orcl数据库的表的操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • 在python中使用xlrd获取合并单元格的方法

    在python中使用xlrd获取合并单元格的方法

    今天小编就为大家分享一篇在python中使用xlrd获取合并单元格的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python使用json.dumps输出中文问题

    python使用json.dumps输出中文问题

    这篇文章主要介绍了python使用json.dumps输出中文问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 每个 Python 开发者都应该知道的7种好用工具(效率翻倍)

    每个 Python 开发者都应该知道的7种好用工具(效率翻倍)

    Python 从一种小的开源语言开始,到现在,它已经成为开发者很受欢迎的编程语言之一。这篇文章主要介绍了每个 Python 开发者都应该知道的7种好用工具(效率翻倍),需要的朋友可以参考下
    2021-03-03
  • 如何使用Python标准库进行性能测试

    如何使用Python标准库进行性能测试

    这篇文章主要为大家详细介绍了如何使用Python标准库进行性能测试,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • 500行代码使用python写个微信小游戏飞机大战游戏

    500行代码使用python写个微信小游戏飞机大战游戏

    这篇文章主要介绍了500行代码使用python写个微信小游戏飞机大战游戏,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-10-10
  • Python 处理数据库事务的操作方法

    Python 处理数据库事务的操作方法

    在Python中,处理数据库事务通常涉及使用特定的数据库驱动如sqlite3、PyMySQL和psycopg2等,这些库提供事务管理功能,允许开发者手动控制事务的提交和回滚,本文给大家介绍Python如何处理数据库事务,感兴趣的朋友一起看看吧
    2024-10-10
  • Python带动态参数功能的sqlite工具类

    Python带动态参数功能的sqlite工具类

    这篇文章主要介绍了Python带动态参数功能的sqlite工具类,涉及Python针对sqlite数据库的连接、查询、sql语句执行等相关操作封装与使用技巧,需要的朋友可以参考下
    2018-05-05

最新评论