(機械翻訳) pyramid.response
¶
-
class
Response
(body=None, status=None, headerlist=None, app_iter=None, content_type=None, conditional_response=None, charset=<object object>, **kw)[ソース]¶ -
accept_ranges
¶ `` Accept-Ranges``ヘッダを取得して設定します( `HTTP spec section 14.5 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.5> `_)。
-
age
¶ `` Age``ヘッダを取得して設定します( `HTTP spec section 14.6 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.6> `_)。 intを使用して変換します。
-
allow
¶ `` Allow``ヘッダを取得して設定します( `HTTP spec section 14.7 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.7> `_)。リストを使用して変換します。
-
app_iter
¶ 応答の `` app_iter``を返します。
`` body``が設定されている場合、これは `` body``(単一項目リスト)から `` app_iter``を生成します。
-
app_iter_range
(start, stop)[ソース]¶ 与えられた `` start:stop``の範囲だけを扱う、 `` app_iter``レスポンスから構築された新しい `` app_iter``を返します。
-
body_file
¶ 本文に書き込むのに使用できるファイルのようなオブジェクト。 `` app_iter``を渡した場合、 `` app_iter``は書き込みによって変更されます。
-
cache_control
¶ Cache-Controlヘッダを取得/設定/変更する( `HTTP spec section 14.9 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9> `_)。
-
charset
¶ `` Content-Type``で指定された `` charset``を取得/設定します。
`` content_type``が実際に `` charset``パラメータを許していることを検証するチェックはありません。
-
conditional_response_app
(environ, start_response)[ソース]¶ 通常の `` __call__``インターフェースと同様ですが、条件付きヘッダをチェックします:
変更された場合のみ ``( `` 304 Not Modified
、 `` GET``、 `` HEAD``のみ)不一致 ''( `` 304未修正 ``、 `` GET
、 `` HEAD``のみ)- `` Range``( `` 406 Partial Content``、 `` GET``、 `` HEAD``のみ)
-
content_disposition
¶ `` Content-Disposition``ヘッダを取得して設定します( `HTTP spec section 19.5.1 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1> `_)。
-
content_encoding
¶ `` Content-Encoding``ヘッダを取得して設定します( `HTTP spec section 14.11 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11> `_)。
-
content_language
¶ `` Content-Language``ヘッダを取得して設定します( `HTTP spec section 14.12 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12> `_)。リストを使用して変換します。
-
content_length
¶ `` Content-Length``ヘッダを取得して設定します( `HTTP spec section 14.17 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17> `_)。 intを使用して変換します。
-
content_location
¶ `` Content-Location``ヘッダを取得して設定します( `HTTP spec section 14.14 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.14> `_)。
-
content_md5
¶ `` Content-MD5``ヘッダを取得して設定します( `HTTP spec section 14.14 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.14> `_)。
-
content_range
¶ `` Content-Range``ヘッダを取得して設定します( `HTTP spec section 14.16 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16> `_)。 ContentRangeオブジェクトを使用して変換します。
-
content_type
¶ `` Content-Type``ヘッダを取得/設定します。 `` Content-Type``ヘッダーが設定されていない場合、 `` None``が返されます。
バージョン 1.7 で変更: 新しい `` Content-Type``を設定すると `` Content-Type``のすべてのパラメタが削除され、 `` Content-Type``が `` text / *
ならば `` charset``がデフォルトにリセットされます。 XML( `` application / xml``または `` * / * + xml
)を使用します。すべての `` Content-Type``パラメータを保持するには、次のコードを使用します:
resp = Response() params = resp.content_type_params resp.content_type = 'application/something' resp.content_type_params = params
-
content_type_params
¶ コンテンツタイプのすべてのパラメータの辞書。
(これは変更されるビューではなく、ディクテーションの変更は別途に適用されません)。
-
date
¶ `` Date``ヘッダを取得して設定します( `HTTP spec section 14.18 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18> `_)。 HTTP日付を使用して変換します。
クライアントからクッキーを削除します。 `` path``と `` domain``は、Cookieの元々の設定と一致しなければならないことに注意してください。
これは、クッキーを空文字列に設定し、 `` max_age = 0``を即時に期限切れにするように設定します。
-
encode_content
(encoding='gzip', lazy=False)[ソース]¶ 指定されたエンコーディングでコンテンツをエンコードします( `` gzip``と `` identity``のみがサポートされています)。
-
etag
¶ `` ETag``ヘッダを取得して設定します( `HTTP spec section 14.19 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19> `_)。エンティティタグを使用して変換します。
-
expires
¶ `` Expires``ヘッダを取得して設定します( `HTTP spec section 14.21 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21> `_)。 HTTP日付を使用して変換します。
-
classmethod
from_file
(fp)[ソース]¶ ファイル形式のオブジェクトから応答を読み込みます( `` .read(size) ``と `` .readline() ``を実装する必要があります)。
それは、ファイルの終わりではなく、応答の最後まで読み取られます。
これは、 `` str(resp) ``で表される応答を読み込みます。すべての有効なHTTP応答を正しく読み取ることができません。レスポンスには「Content-Length」が必要です。
-
has_body
¶ レスポンスに:attr: 〜Response.body`があるかどうかを判定します。単にattr: `〜Response.body`にアクセスするのとは対照的に、このメソッドは基底の:attr:〜Response.app_iter`を読みません**。
-
headerlist
¶ 応答ヘッダーのリスト。
-
headers
¶ 辞書のようなオブジェクトのヘッダー。
-
json
¶ レスポンスの本文をJSONとして設定/取得します。
注釈
これは自動的に:meth: 〜bytes.decode:attr:〜Response.body`をget、 ` meth: 〜str.encode:meth:` json`を `` UTF- attr:〜Response.body`に割り当てる前に `` UTF-8``としてダンプします。
-
json_body
¶ レスポンスの本文をJSONとして設定/取得します。
注釈
これは自動的に:meth: 〜bytes.decode:attr:〜Response.body`をget、 ` meth: 〜str.encode:meth:` json`を `` UTF- attr:〜Response.body`に割り当てる前に `` UTF-8``としてダンプします。
-
last_modified
¶ `` Last-Modified``ヘッダを取得して設定します( `HTTP spec section 14.29 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29> `_)。 HTTP日付を使用して変換します。
-
location
¶ `` Location``ヘッダを取得して設定します( `HTTP spec section 14.30 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30> `_)。
-
md5_etag
(body=None, set_content_md5=False)[ソース]¶ 本文のMD5ハッシュ( `` body``パラメータ、または与えられていなければ `` self.body``)を使用してレスポンスオブジェクトのetagを生成します。
`` self.etag``をセットします。
`` set_content_md5``が `` True``なら `` self.content_md5``も設定します。
このレスポンスに設定されたCookieを、指定された `` resp``オブジェクト(任意のWSGIアプリケーション)にマージします。
`` resp``が:class: `webob.Response`オブジェクトであれば、他のオブジェクトはインプレースで変更されます。
-
pragma
¶ `` Pragma``ヘッダーを取得して設定します( `HTTP spec section 14.32 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32> `_)。
-
retry_after
¶ `` Retry-After``ヘッダを取得して設定します( `HTTP spec section 14.37 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37> `_)。 HTTPの日付またはデルタ秒を使用して変換します。
-
server
¶ `` Server``ヘッダを取得して設定します( `HTTP spec section 14.38 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.38> `_)。
応答にクッキーを設定(追加)します。
引数は次のとおりです。
「名前」
クッキー名。「価値」
クッキー値。文字列または `` None``でなければなりません。 `` value``が `` None``の場合は、このクッキーキーのために:meth: `webob.response.Response.unset_cookie`メソッドを呼び出すのと同じことです(クライアント上のクッキーを効果的に削除します)。`` max_age``
`` datetime.timedelta``または `` None``秒を表す整数です。この値は生成されたクッキーの `` Max-Age``として使われます。 `` Expires``が渡されず、この値が `` None``でない場合、 `` max_age``の値はクッキーの `` Expires``値にも影響します( `` Expires``は`` now`` + `` max_age``)。この値が `` None``の場合、 `` Expires``がセットされていない限り、クッキーは `` Max-Age``値を持ちません。 `` max_age``と `` expires``の両方が設定されている場合、この値が優先されます。``パス ``
クッキーの `` Path``値を表す文字列です。デフォルトは `` / ``です。「ドメイン」
クッキー `` Domain``または `` None``を表す文字列です。 domainが `` None``の場合、 `` Domain``値はクッキーに送られません。``安全 ``
ブール値`` True``の場合は `` secure``フラグがクッキーに送られ、 `` False``の場合は `` secure``フラグがクッキーに送られません。`` httponly``
ブール値`` True``の場合、 `` HttpOnly``フラグがクッキーに送られます。 `` False``の場合、 `` HttpOnly``フラグはクッキーに送られません。samesite`
クッキーの `` SameSite``属性を表す文字列、または `` None``です。 samesiteが `` None``の場合、 `` SameSite``値はクッキーに送られません。 Strict "` または " Lax " `のみでなければなりません。``コメント ``
クッキーの `` Comment``値を表す文字列、 `` None``です。 `` comment``が `` None``の場合、 `` Comment``値はクッキーに送られません。``満了 ``
`` datetime.datetime``または `` None``を表す `` datetime.timedelta``オブジェクトです。生成されたクッキーの「Expires」値を生成するために非 `` None``値が使用されます。 `` max_age``が渡されない場合、この値は `` None``ではなく、 `` Max-Age``ヘッダーに影響します。この値が `` None``の場合、( `` max_age``がセットされていなければ) `` Expires``のクッキー値は設定されません。 `` max_age``が設定されている場合、 `` expires``を生成するために使われ、この値は無視されます。
`` datetime.datetime``が提供されている場合、それはタイムゾーンを認識するか、またはUTCに基づいていなければなりません。現地時間である `` datetime.datetime``オブジェクトはサポートされていません。タイムゾーンを認識する `` datetime.datetime``オブジェクトはUTCに変換されます。
この引数はWebOb(バージョン1.9)の将来のバージョンでは削除されます。
``上書きする ``
このキーが `` True``の場合、クッキーを設定する前に、既存のクッキーを設定解除してください。
-
status
¶ ステータス文字列。
-
status_code
¶ ステータスは整数です。
-
status_int
¶ ステータスは整数です。
-
text
¶ `` Content-Type``または `` default_body_encoding``の `` charset``を使って本文のテキスト値を取得/設定します。
-
ubody
¶ .textの非推奨エイリアス
-
unicode_body
¶ .textの非推奨エイリアス
指定された名前のクッキーの設定を解除します(応答から削除します)。
-
vary
¶ `` Vary``ヘッダを取得して設定します( `HTTP spec section 14.44 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44> `_)。リストを使用して変換します。
-
www_authenticate
¶ `` WWW-Authenticate``ヘッダを取得して設定します( HTTP spec section 14.47 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.47> `_)。 ` parse_auth``と `` serialize_auth``を使って変換します。
-
-
class
FileResponse
(path, request=None, cache_max_age=None, content_type=None, content_encoding=None)[ソース]¶ 単純にディスクから静的ファイルを提供するために使用できるResponseオブジェクト。
`` path``はディスク上のファイルパスです。
`` request``はピラミッド:term: request`オブジェクトでなければなりません。あなたのPyramidアプリケーションを提供するために使用しているWebサーバの ` wsgi.file_wrapper``機能を使用しようとするのであれば、リクエスト*を渡す必要があります。
`` cache_max_age``は、この応答をHTTPキャッシュに使用する秒数です。
`` content_type``はレスポンスのcontent_typeです。
`` content_encoding``はレスポンスのcontent_encodingです。バイナリファイルを提供している場合は、このセットを `` None``のままにしておくのが一般的に安全です。 `` content```を `` None``のままにしておくと、この引数は無視されます。
-
class
FileIter
(file, block_size=262144)[ソース]¶ WSGI app_iterとして使用する固定ブロックサイズのイテレータ。
`` file``はPythonのファイルポインタです(あるいは少なくともサイズヒントを取る `` read``メソッドを持つオブジェクトです)。
`` block_size``は、反復のオプションのブロックサイズです。
関数¶
-
response_adapter
(*types_or_ifaces, **kwargs)[ソース]¶ デコレータは:term: scan`で起動します。これはデコレータコンストラクタに `* types_or_ifaces``として渡される型またはインタフェースのセットのための:term:`レスポンスアダプタ 'として装飾される関数を扱います。
たとえば、次の応答アダプタをスキャンするとします。
from pyramid.response import Response from pyramid.response import response_adapter @response_adapter(int) def myadapter(i): return Response(status=i)
次に、ビュー呼び出し可能な整数を返すことができ、整数をステータスコードとして持つ応答に変換されます。
コンストラクタ引数として、複数の型またはインタフェースを渡すことができます。修飾されたレスポンスアダプタは、各タイプまたはインタフェースに対して呼び出されます。
import json from pyramid.response import Response from pyramid.response import response_adapter @response_adapter(dict, list) def myadapter(ob): return Response(json.dumps(ob))
このメソッドは、term: `scan`がそれを含むパッケージまたはモジュールに対して再度実行されるまで、何の効果もありません。ala:
from pyramid.config import Configurator config = Configurator() config.scan('somepackage_containing_adapters')
:term: venusian` attach``関数に渡される2つの追加のキーワード引数は _depth``と `_category``です。
`` _depth``はこのクラスを別のデコレータから再利用したい人に提供されます。デフォルト値は `` 0``で、 `` response_adapter``の呼び出しに関連して指定する必要があります。 Venusianがデコレータがクラスまたはモジュールコンテキストで使用されているかどうかをチェックするときに、callstackの深さとして:term: venusian` `attach``関数に渡されます。それは頻繁には使用されませんが、この状況では便利です。
`` _category``はデコレータのカテゴリ名を設定します。これは、どのビューを処理するかを制御する `` scan``の `` category``引数と組み合わせて使うと便利です。
`` _depth``と `` _category``引数の詳細については、Venusianの:py:func: `venusian.attach`関数を参照してください。
バージョン 1.9.1 で変更: Added the
_depth
and_category
arguments.