flask + 蓝图 用 sqlalchemy 对 mysql 进行 增删查改 的 demo

本文详细介绍使用Flask框架结合SQLAlchemy进行数据库操作的具体实践,包括数据的增删改查等核心功能,以及如何在应用中注册蓝图和配置数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main.py  

import uuid  # UUID: 通用唯一标识符
# from flask import Flask
from flask import Flask, request, json, Response
from flask_sqlalchemy import SQLAlchemy

from app.main.views import *
from app.app01.views import *
from app.app02.views import *
from app.test.views import *

import config

app = Flask(__name__)
app.config.from_object(config)
db = SQLAlchemy(app)
app.register_blueprint(main)
app.register_blueprint(main, url_prefix='/index')
app.register_blueprint(app01, url_prefix='/app01')
app.register_blueprint(app02, url_prefix='/app02')
app.register_blueprint(app01, url_prefix='/app03')
app.register_blueprint(app02, url_prefix='/app04')
app.register_blueprint(app02)
app.register_blueprint(test, url_prefix='/test')


# 创建表,测试ok
# class Article(db.Model):
#     __tablename__ = 'article'
#     id = db.Column(db.Integer, primary_key=True, autoincrement=True)
#     title = db.Column(db.String(100), nullable=False)
#     content = db.Column(db.Text, nullable=False)
#
#
# db.create_all()


class Article(db.Model):
    __tablename__ = 'article'
    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    title = db.Column(db.String(100), nullable=False)
    content = db.Column(db.Text, nullable=False)


# 增
def createOne(get_title, get_content):
    artcle1 = Article(title=get_title, content=get_content)
    db.session.add(artcle1)
    db.session.commit()
    print('添加成功', get_title, get_content)
    return '添加成功'


# 删
def deleteis(get_id):
    result = Article.query.filter(Article.id == get_id).first()
    db.session.delete(result)
    db.session.commit()
    print('删除成功', get_id)
    return '删除成功'


# 改
def change(get_id, get_title, get_content):
    result = Article.query.filter(Article.id == get_id).first()
    result.title = get_title
    result.content = get_content
    db.session.commit()
    print('修改成功', get_id, get_title, get_content)
    return '修改成功'


# 查看所有数据
def getdata_all():
    result = Article.query.all()
    for single in result:
        print('title:%s' % single.title)
        print('content:%s' % single.content)
    return '查看所有数据'


# 查看某一数据
def getdata_some(get_id):
    result = Article.query.filter(Article.id == get_id).first()
    db.session.commit()
    get_title = result.title
    get_content = result.content
    print('查看某一数据', get_id, get_title, get_content)
    return '查看某一数据'





# 执行 sqlalchemy
# 增加,测试成功
add_title = '标题-2019.04.15-5'
add_content = '内容qqqqqqqqqqq'
# createOne(add_title, add_content)

# 删除,测试成功
del_id = 4
# deleteis(del_id)

# 改,测试成功
change_id = 8
change_title = '修改的标题-2019.04.15-1'
change_content = '内容-2019.04.15-content'
# change(change_id, change_title, change_content)

# 查看所有数据
# getdata_all()

# 查看某一数据
my_id = 8
getdata_some(my_id)

if __name__ == '__main__':
    app.run(debug=False, host='127.0.0.1', port=5000)
    # app.run()

 

config.py  

DIALECT = 'mysql'
DRIVER = 'pymysql'
USERNAME = 'username'
PASSWORD = 'password'
HOST = 'localhost'
PORT = '3306'
DATABASE = 'db'

SQLALCHEMY_DATABASE_URI = "{}+{}://{}:{}@{}:{}/{}?charset=utf8".format(DIALECT, DRIVER, USERNAME, PASSWORD, HOST, PORT,
                                                                       DATABASE)

SQLALCHEMY_TRACK_MODIFICATIONS = False

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值