Quart拡張機能の使用#
Quartには多くの拡張機能があり、その一部を以下に示します。
Quart-Auth 安全なクッキーセッション、ログイン、認証、ログアウトを可能にします。
Quart-Babel Quartのi18nとl10nのサポートを実装します。
Quart-Bcrypt アプリケーションにbcryptハッシュユーティリティを提供します。
Quart-compress アプリケーションのレスポンスをgzipで圧縮します。
Quart-compress2 Quartアプリのレスポンスをgzipで圧縮するためのパッケージ。
Quart-CORS クロスオリジンリソース共有 (アクセスコントロール) のサポート。
Quart-DB postgresqlデータベースへの管理された接続。
Quart-events WebSocketsまたはSSEによるイベントブロードキャスト。
Quart-Login Flask-Loginの移植版で、Quartでネイティブに動作します。
Quart-minify HTML、JS、CSS、およびlessのQuartレスポンスをminifyします。
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