flask request context
request context、分かってないので、訳してみる
The request context keeps track of the request-level data during a request. Rather than passing the request object to each function that runs during a request, the request and session proxies are accessed instead.
リクエストコンテキストは、レクエストに関するデータを一回のリクエストの間、監視するものです。
ここで、リクエストに関するデータを持つオブジェクトをリクエストを処理する関数の引数に渡すことをせずに、リクエストとセッションのプロキシーが、関数内で使用されます。
This is similar to the The Application Context, which keeps track of the application-level data independent of a request. A corresponding application context is pushed when a request context is pushed.
これは、アプリケーションコンテキストと似たような話です。これはリクエストとは関係ないデータをアプリケーションのレベルで保持するものです。ある1つのアプリケーションに対応する、その1つのコンテキストはリクエストコンテキストがプッシュ(いつ?)された際にプッシュされます。プッシュされるのは、コンテキストを保持する配列のこと?
Purpose of the Context
When the Flask application handles a request, it creates a Request object based on the environment it received from the WSGI server. Because a worker (thread, process, or coroutine depending on the server) handles only one request at a time, the request data can be considered global to that worker during that request. Flask uses the term context local for this. フラスクアプリのリクエストのハンドリングですが、WSGIサーバーから受け取る環境変数を本にリクエストオブジェクトを作ります。1つのワーカー(WSGIの)が同時に扱うのは1つのリクエストなので、リクエストに関する変数は、そのワークに取っては唯一のものになります。フラスクはこれをこれを,,,...????
Flask automatically pushes a request context when handling a request. View functions, error handlers, and other functions that run during a request will have access to the request proxy, which points to the request object for the current request.
フラスクは自動的にリクエスト受付時にリクエストコンテキストを取り込みます。ビュー関数、エラーハンドラー、他のリクエスト時に動作する関数は、現在のリクスエストでのリクエストオブジェクトのプロキシーにアクセスできます。
Lifetime of the Context (コンテキストの生成、変遷、終了)
When a Flask application begins handling a request, it pushes a request context, which also pushes an The Application Context. When the request ends it pops the request context then the application context.
フラスクアプリがリクエストを受け付け始めると、リクエストコンテキスト(wsgiから受け取るもの?)をある?配列に入れます。同時にアプリコンテキストも入れます。リクエストが終了すると、リクエストコンテキストデータもその配列から取り出されます。そのあとにアプリコンテキストも取り出される。FirstInFirstOut?
The context is unique to each thread (or other worker type). request cannot be passed to another thread, the other thread will have a different context stack and will not know about the request the parent thread was pointing to.
コンテキストはWSGIのワーカー別に唯一のものです。他のワーカー、スレッドとは独立。
Context locals are implemented in Werkzeug. See Context Locals for more information on how this works internally.
コンテキストローカル(複数なのは..???)は、ベルクゼルグwerkzeugで実装されてます。 pushする、pushするって言ってるのは、context localのことか、、、contextをトリ間違えないような管理をしてる?
request context
application context