quart.blueprints モジュール#

class quart.blueprints.Blueprint(*args: Any, **kwargs: Any)#

ベース: Blueprint

ブループリントはアプリケーションプロパティのコレクションです。

アプリケーションプロパティには、ルート、エラーハンドラー、およびリクエスト前後の関数が含まれます。ブループリントでプロパティを定義して、これらのプロパティのアプリへの追加を延期できるため、モジュール式コードを作成するのに役立ちます。

add_websocket(rule: str, endpoint: str | None = None, view_func: WebsocketCallable | None = None, **options: t.Any) None#

アプリケーションに websocket URL ルールを追加します。

これは、アプリケーションで直接使用するように設計されています。使用例を次に示します。

def websocket_route():
    ...

app.add_websocket('/', websocket_route)
パラメータ:
  • rule – ルートするパス。 / で始める必要があります。

  • endpoint – オプションのエンドポイント名。存在しない場合は、関数名が使用されます。

  • view_func – レスポンスを返す呼び出し可能オブジェクト。

  • defaults

    変数の辞書を自動的に提供するために使用します。ルートのデフォルトパスを簡略化するために使用します。たとえば、/book/0 ではなく、/book を許可する場合などです。

    @app.websocket('/book', defaults={'page': 0})
    @app.websocket('/book/<int:page>')
    def book(page):
        ...
    

  • host – このルートの完全なホスト名(必要な場合はサブドメインを含める必要があります)。サブドメインと同時に使用することはできません。

  • subdomain – この特定のルートのサブドメイン。

  • strict_slashes – パスに存在する末尾のスラッシュを厳密に一致させます。リーフ(スラッシュなし)をブランチ(スラッシュあり)にリダイレクトします。

after_app_serving(func: T_after_serving) T_after_serving#

App に after serving 関数を追加します。

これはデコレータとして使用するように設計されており、after_serving() と同じ引数を持っています。使用例を次に示します。

blueprint = Blueprint(__name__)
@blueprint.after_app_serving
def after():
    ...
after_app_websocket(func: T_after_websocket) T_after_websocket#

App に after websocket 関数を追加します。

これはデコレータとして使用するように設計されており、after_websocket() と同じ引数を持っています。このブループリントが登録されている ppe へのすべてのリクエストに適用されます。使用例を次に示します。

blueprint = Blueprint(__name__)
@blueprint.after_app_websocket
def after():
    ...
after_websocket(func: T_after_websocket) T_after_websocket#

after websocket 関数を追加します。

これはデコレータとして使用するように設計されています。同期関数を装飾するために使用した場合、関数は run_sync() でラップされ、スレッドエグゼキュータで実行されます(ラップされた関数が返されます)。使用例を次に示します。

@app.after_websocket
async def func(response):
    return response
パラメータ:

func – after websocket 関数自体。

before_app_serving(func: T_before_serving) T_before_serving#

App に before serving を追加します。

これはデコレータとして使用するように設計されており、before_serving() と同じ引数を持っています。使用例を次に示します。

blueprint = Blueprint(__name__)
@blueprint.before_app_serving
def before():
    ...
before_app_websocket(func: T_before_websocket) T_before_websocket#

App に before websocket を追加します。

これはデコレータとして使用するように設計されており、before_websocket() と同じ引数を持っています。このブループリントが登録されているアプリへのすべてのリクエストに適用されます。使用例を次に示します。

blueprint = Blueprint(__name__)
@blueprint.before_app_websocket
def before():
    ...
before_websocket(func: T_before_websocket) T_before_websocket#

before websocket 関数を追加します。

これはデコレータとして使用するように設計されています。同期関数を装飾するために使用した場合、関数は run_sync() でラップされ、スレッドエグゼキュータで実行されます(ラップされた関数が返されます)。使用例を次に示します。

@app.before_websocket
async def func():
    ...
パラメータ:

func – before websocket 関数自体。

get_send_file_max_age(filename: str | None) int | None#

send_file() によって、渡されなかった場合の特定のファイルパスの max_age キャッシュ値を決定するために使用されます。

デフォルトでは、current_app の構成から SEND_FILE_MAX_AGE_DEFAULT を返します。これはデフォルトで None になり、ブラウザに時間制限付きキャッシュの代わりに条件付きリクエストを使用するように指示します。これは通常、より推奨されます。

これは、Quart クラスの同じメソッドの複製であることに注意してください。

async open_resource(path: bytes | str | PathLike, mode: str = 'rb') AiofilesContextManager[None, None, AsyncBufferedReader]#

読み込み用にファイルを開きます。

次のように使用します。

async with await app.open_resource(path) as file_:
    await file_.read()
async send_static_file(filename: str) Response#
teardown_app_websocket(func: T_teardown) T_teardown#

アプリに WebSocket のティアダウン関数を追加します。

これはデコレータとして使用することを想定しており、teardown_websocket() と同じ引数を持っています。このブループリントが登録されているアプリへのすべてのリクエストに適用されます。使用例を以下に示します。

blueprint = Blueprint(__name__)
@blueprint.teardown_app_websocket
def teardown():
    ...
teardown_websocket(func: T_teardown) T_teardown#

WebSocket のティアダウン関数を追加します。これはデコレータとして使用することを想定しています。同期関数をデコレートするために使用すると、関数はrun_sync()でラップされ、スレッドエグゼキュータで実行されます(ラップされた関数が返されます)。使用例を以下に示します。 .. code-block:: python

@app.teardown_websocket async def func()

パラメータ:
  • func – ティアダウン WebSocket 関数自体。

  • name – オプションのブループリントキー名。

websocket(rule: str, **options: Any) Callable[[T_websocket], T_websocket]#

アプリケーションに WebSocket を追加します。

これはデコレータとして使用するように設計されています。同期関数を装飾するために使用した場合、関数は run_sync() でラップされ、スレッドエグゼキュータで実行されます(ラップされた関数が返されます)。使用例を次に示します。

@app.websocket('/')
async def websocket_route():
    ...
パラメータ:
  • rule – ルートするパス。 / で始める必要があります。

  • endpoint – オプションのエンドポイント名。存在しない場合は、関数名が使用されます。

  • defaults

    変数の辞書を自動的に提供するために使用します。ルートのデフォルトパスを簡略化するために使用します。たとえば、/book/0 ではなく、/book を許可する場合などです。

    @app.websocket('/book', defaults={'page': 0})
    @app.websocket('/book/<int:page>')
    def book(page):
        ...
    

  • host – このルートの完全なホスト名(必要な場合はサブドメインを含める必要があります)。サブドメインと同時に使用することはできません。

  • subdomain – この特定のルートのサブドメイン。

  • strict_slashes – パスに存在する末尾のスラッシュを厳密に一致させます。リーフ(スラッシュなし)をブランチ(スラッシュあり)にリダイレクトします。

while_app_serving(func: T_while_serving) T_while_serving#

アプリに while serving 関数を追加します。

これはデコレータとして使用することを想定しており、while_serving() と同じ引数を持っています。使用例を以下に示します。

@blueprint.while_serving
async def func():
    ...  # Startup
    yield
    ...  # Shutdown