Peewee – 与网络框架的整合

Peewee – 与网络框架的整合

Peewee可以与大多数Python网络框架API无缝协作。每当Web Server Gateway Interface (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等。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程