python开发订单查询功能(flask+orm bee)

1. 搭建python环境。

可以参考其它文档。

此处python使用 3.12

IDE随意,PyCharm 或 Eclipse +PyDev也可以。

2. Flask

2.1 安装Flask
pip install Flask

2.2 一个最简单的flask实例

创建一个工程,

新建一个 main.py文件,

输入以下内容:

from flask import request
from flask.app import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello Orm Bee"


if __name__ == '__main__':
    # app.run()
    app.run(debug=True)

到该文件目录下,运行 :

python main.py

就会看到以下信息:

在浏览器中,

输入地址:http://localhost:5000/

或者:127.0.0.1:5000

就能看下以下信息,证明整合flask成功。

3. 整合数据库,查询数据库的订单

这里,我们假如有orders 表,它有id, name,remark三个字段。

对应的实体如下:

Orders.py

class Orders:
    id = None  
    name = None 
    remark = None

    #can ignore
    def __repr__(self):  
        return  str(self.__dict__)

数据库连接的配置信息,放在:bee.json

内容如下:

{
	"dbName": "SQLite",
	"database": "E:\\xxx\\project-name\\bee.db",
	"dbModuleName": "sqlite3"
}

添加Orm Bee用来查询数据库:

先安装:

pip install ormbee

更新main.py的内容,

from bee.api import SuidRich
from bee.config import PreConfig
from flask import request
from flask.app import Flask

from Orders import Orders

app = Flask(__name__)

#设置工程根目录,也是放配置的地方
PreConfig.config_path="E:\\xxx\\project-namet"
# PreConfig.config_folder_root_path="E:\\xxx\\project-name"  #1.6.0之前使用

@app.route("/")
def hello():
    return "Hello Orm Bee"


@app.route("/orders/<name>",methods=['GET','POST'])
def orders(name):
    
    orders=Orders()
    
    if request.method == 'GET':
        orders.name = name
    
        suidRich = SuidRich()
        one = suidRich.select_first(orders) #查询名称为name的订单
        if one:
            return "orders message: " + name + " : " + str(one.id)
        else:
            return "orders message: <empty>" 
    else:
        return "this is not get method, name:" + name 


if __name__ == '__main__':
    # app.run()
    app.run(debug=True)

关键代码就三行:

        orders.name = name
        suidRich = SuidRich()
        one = suidRich.select_first(orders) #查询名称为name的订单

SuidRich是 select,update,insert,delete四种操作的类,

select_first是只查首行记录。将orders对象传给Orm Bee,它就会为我们解析,查询数据库并返回数据。

访问以下网址,即可看到查询的信息。(当然,之前要先插入些数据)

http://localhost:5000/orders/bee

有了这些数据,我以可以用更好看的前端页面进行解析渲染。

完整工程及文件,如下:

将bee.json配置文件,放入resources文件夹也是可以的。

Orm Bee一个是简单又高效的ORM工具.

源码地址:

https://github.com/automvc/BeePy

### 集成 ORMFlask 中进行数据库操作 在 Flask 应用中,为了简化与关系型数据库之间的交互并提高开发效率,通常会采用对象关系映射(ORM)技术。其中 SQLAlchemy 是最受欢迎的选择之一,并可通过 Flask-SQLAlchemy 扩展轻松集成到项目当中[^1]。 #### 安装依赖库 要开始使用 Flask-SQLAlchemy ,首先需要安装必要的 Python 包: ```bash pip install flask-sqlalchemy ``` #### 初始化配置 接着,在应用程序初始化阶段完成基本设置,包括指定所使用的数据库 URI 和其他选项: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) # 设置数据库连接字符串 app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db' db = SQLAlchemy(app) ``` 上述代码片段展示了如何创建一个基于 SQLite 的简单实例;对于生产环境,则建议选用 MySQL 或 PostgreSQL 等更稳定的关系型数据库系统[^2]。 #### 创建模型类 定义好所需的表结构之后就可以编写对应的 Python 类来表示这些实体了。每一个这样的类都继承自 `db.Model` 并且可以包含字段属性以及其他方法: ```python class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20), unique=True, nullable=False) def __repr__(self): return f"User('{self.username}')" ``` 这段示例演示了一个简单的用户信息存储方案,它具有唯一标识符 (`id`) 及用户名(`username`)两个列。 #### 数据库迁移管理 随着项目的不断迭代更新,可能会涉及到修改现有模式的情况。此时可以通过 Alembic 工具来进行版本控制和自动化升级/降级处理: ```bash flask db init flask db migrate -m "add new column" flask db upgrade ``` 当需要回滚至特定历史状态时可利用命令如 `mysql downgrade ‘版本号’` 来实现[^3]。 #### CRUD 操作 最后就是实际的数据存取逻辑部分了。借助于 SQLAlchemy 提供的一系列便捷 API 接口能够快速地完成增删改查任务: - **Create**: 添加新记录 - **Read**: 查询已有数据 - **Update**: 修改已存在条目 - **Delete**: 移除不再需要的信息 例如分页获取多条结果集的操作如下所示: ```python users_page = User.query.paginate(page=page_num, per_page=items_per_page) for user in users_page.items: print(user) ``` 这里采用了 paginate 方法实现了带有限制条件的结果返回机制,从而有效减少了内存占用量同时也提高了用户体验质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值