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操作数据库的资料请关注脚本之家其它相关文章!

相关文章

  • Python开发一个功能齐全的IM聊天工具(附实例代码)

    Python开发一个功能齐全的IM聊天工具(附实例代码)

    即时通讯(IM)工具现在已经很常见了,从简单的文本聊天到文件传输、音视频通话,IM 工具功能丰富,那么,本文使用Python开发一个基础的IM聊天工具,包括:客户端和服务端架构、实时消息发送与接收、多用户聊天支持、一个简单的图形用户界面(GUI)
    2024-12-12
  • jupyter notebook 的工作空间设置操作

    jupyter notebook 的工作空间设置操作

    这篇文章主要介绍了jupyter notebook 的工作空间设置操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python装饰器-限制函数调用次数的方法(10s调用一次)

    python装饰器-限制函数调用次数的方法(10s调用一次)

    下面小编就为大家分享一篇python装饰器-限制函数调用次数的方法(10s调用一次),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息

    在Python中使用cookielib和urllib2配合PyQuery抓取网页信息

    这篇文章主要介绍了在Python中使用cookielib和rllib2配合PyQuery抓取网页信息的教程,主要是利用PyQuery解析HTML来实现,需要的朋友可以参考下
    2015-04-04
  • Python OpenCV基于霍夫圈变换算法检测图像中的圆形

    Python OpenCV基于霍夫圈变换算法检测图像中的圆形

    这篇文章主要介绍了通过霍夫圈变换算法检测图像中的圆形,文中用到的函数为cv2.HoughCircles(),该函数可以很好地检测圆心。感兴趣的小伙伴可以了解一下
    2021-12-12
  • Python全局变量用法实例分析

    Python全局变量用法实例分析

    这篇文章主要介绍了Python全局变量用法,结合实例形式分析了Python中全局变量的定义、使用方法与相关注意事项,需要的朋友可以参考下
    2016-07-07
  • Python中日期和时间的互相转换操作方法

    Python中日期和时间的互相转换操作方法

    Python的datetime模块提供了一套强大而灵活的工具,使我们能够轻松地在不同的时间表示形式间相互转换,并进行复杂的时间计算,本文通过一个实用的例子向大家展示如何在Python中高效地进行这些操作,感兴趣的朋友一起看看吧
    2024-05-05
  • Flask SocketIO实现动态绘图的示例详解

    Flask SocketIO实现动态绘图的示例详解

    Flask-SocketIO 是基于 Flask 的一个扩展,用于简化在 Flask 应用中集成 WebSocket 功能,本文主要介绍了Flask SocketIO如何实现动态绘图,需要的可以参考下
    2023-11-11
  • python实现登录与注册系统

    python实现登录与注册系统

    这篇文章主要为大家详细介绍了python实现登录与注册系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • Python利用pdfplumber库提取pdf中的文字

    Python利用pdfplumber库提取pdf中的文字

    pdfplumber是一个用于从PDF文档中提取文本和表格数据的Python库,它可以帮助用户轻松地从PDF文件中提取有用的信息,例如表格、文本、元数据等,本文将给大家介绍如何通过Python的pdfplumber库提取pdf中的文字,需要的朋友可以参考下
    2023-05-05

最新评论