使用 Quart 扩展#
有很多 Quart 扩展,其中一些列在这里,
Quart-Auth 安全的 Cookie 会话,允许登录、身份验证和注销。
Quart-Babel 为 Quart 实现 i18n 和 l10n 支持。
Quart-Bcrypt 为您的应用程序提供 bcrypt 哈希实用程序。
Quart-compress 使用 gzip 压缩您的应用程序的响应。
Quart-compress2 用于使用 gzip 压缩 Quart 应用程序中的响应的包。
Quart-CORS 跨域资源共享 (访问控制) 支持。
Quart-DB 管理连接到 postgresql 数据库。
Quart-events 通过 WebSockets 或 SSE 进行事件广播。
Quart-Login Flask-Login 的移植版本,可与 Quart 原生工作。
Quart-minify 为 HTML、JS、CSS 和 less 缩小 quart 响应。
Quart-Mongo 连接 Quart、Motor 和 Odmantic,创建一个强大的 MongoDB 扩展。
Quart-Motor Quart 应用程序的 Motor (MongoDB) 支持。
Quart-OpenApi RESTful API 构建。
Quart-Keycloak 支持 Keycloak 的 OAuth2 OpenID Connect (OIDC)。
Quart-Rapidoc 来自 OpenAPI 规范的 API 文档。
Quart-Rate-Limiter 限速支持。
Quart-Redis Redis 连接处理
Webargs-Quart Quart 的 Webargs 解析。
Quart-WTF Quart 和 WTForms 的简单集成。包括 CSRF 和文件上传。
Quart-Schema 架构验证和自动生成的 API 文档。
Quart-session 服务器端会话支持。
Quart-Uploads Quart 的文件上传处理。
在 Quart 扩展中支持同步代码#
扩展作者可以通过使用 quart.Quart.ensure_async()
方法来支持同步函数。例如,如果扩展提供一个视图函数装饰器,请在调用装饰函数之前添加 ensure_async
,
def extension(func):
@wraps(func)
async def wrapper(*args, **kwargs):
... # Extension logic
return await current_app.ensure_async(func)(*args, **kwargs)
return wrapper