- Peewee教程
- Peewee - 主页
- Peewee - 概述
- Peewee - 数据库类
- Peewee - 模型
- Peewee - 野外课程
- Peewee - 插入新记录
- Peewee - 选择记录
- Peewee - 过滤器
- Peewee - 主键和复合键
- Peewee - 更新现有记录
- Peewee - 删除记录
- Peewee - 创建索引
- Peewee - 约束
- Peewee - 使用 MySQL
- Peewee - 使用 PostgreSQL
- Peewee - 动态定义数据库
- Peewee - 连接管理
- Peewee - 关系与加入
- Peewee - 子查询
- Peewee - 排序
- Peewee - 计数和聚合
- Peewee - SQL 函数
- Peewee - 检索行元组/字典
- Peewee - 用户定义的运算符
- Peewee - 原子事务
- Peewee - 数据库错误
- Peewee - 查询生成器
- Peewee - 与 Web 框架集成
- Peewee - SQLite 扩展
- Peewee - PostgreSQL 和 MySQL 扩展
- Peewee - 使用 CockroachDB
- Peewee有用资源
- Peewee - 快速指南
- Peewee - 有用的资源
- Peewee - 讨论
Peewee - 与 Web 框架集成
Peewee 可以与大多数 Python Web 框架 API 无缝协作。每当Web服务器网关接口(WSGI)服务器收到客户端的连接请求时,就会建立与数据库的连接,然后在发送响应后关闭连接。
在基于Flask的 Web 应用程序中使用时,连接会对@app.before_request装饰器产生影响,并在@app.teardown_request上断开连接。
from flask import Flask from peewee import * db = SqliteDatabase('mydatabase.db') app = Flask(__name__) @app.before_request def _db_connect(): db.connect() @app.teardown_request def _db_close(exc): if not db.is_closed(): db.close()
Peewee API 也可以在 Django 中使用。为此,请在 Django 应用程序中添加中间件。
def PeeweeConnectionMiddleware(get_response): def middleware(request): db.connect() try: response = get_response(request) finally: if not db.is_closed(): db.close() return response return middleware
中间件添加在 Django 的设置模块中。
# settings.py MIDDLEWARE_CLASSES = ( # Our custom middleware appears first in the list. 'my_blog.middleware.PeeweeConnectionMiddleware', #followed by default middleware list. .. )
Peewee 可以轻松地与其他框架一起使用,例如 Bottle、Pyramid 和 Tornado 等。