(機械翻訳) pyramid.view

render_view_to_response(context, request, name='', secure=True)[ソース]

指定された `` context``と `` request``に登録された:term: view name` name``と一致する:term: view configuration`で設定された:term: view callable`を呼び出します。 a:term: `response`オブジェクトを返します。この関数は、対応する:term: `view callable`が見つからない場合(term: view configuration`が `` name`` / `` context`` / `` 要求)。

secure`が True``であり、:term: view callable`がパーミッションで保護されている場合、ビュー関数を呼び出す前にパーミッションがチェックされます。権限チェックによって(現在の:term: 認可ポリシー`に基づいて)ビューの実行が許可されない場合、a:exc: `pyramid.httpexceptions.HTTPForbidden`例外が送出されます。例外の ` args``属性は、ビューのアクセスが許可されなかった理由を説明します。

`` secure``が `` False``の場合、権限チェックは行われません。

render_view_to_iterable(context, request, name='', secure=True)[ソース]

指定された `` context``と `` request``に登録された:term: view name` name``と一致する:term: view configuration`で設定された:term: view callable`を呼び出します。応答の本体を表す反復可能なオブジェクトを返します。この関数は、対応する:term: `view callable`が見つからない場合(term: view configuration`が `` name`` / `` context`` / `` 要求)。さらに、この関数は、ビュー関数が見つかって呼び出されたが、ビュー関数の結果に `` app_iter``属性がない場合、:exc: `ValueError`を送出します。

通常、 `` b ''。join(iterable) ``を呼び出すか、代わりに:func: `pyramid.view.render_view`を使うだけで、この関数の戻り値のバイトテスト表現を得ることができます。

`` secure``が `` True``で、ビューがパーミッションで保護されている場合、ビュー関数が呼び出される前にパーミッションがチェックされます。権限チェックによって(現在の:term: 認証ポリシー`に基づいて)ビューの実行が許可されない場合、a:exc: `pyramid.httpexceptions.HTTPForbidden`例外が送出されます。その ` args``属性は、なぜviewアクセスが許可されなかったのかを説明します。

`` secure``が `` False``の場合、権限チェックは行われません。

render_view(context, request, name='', secure=True)[ソース]

指定された `` context``と `` request``に登録された:term: view name` name``と一致する:term: view configuration`で設定された:term: view callable`を呼び出します。ビュー応答の ` app_iter``(参照:ref: the_response)を単一のバイトコードに戻します。この関数は、対応する:term: view callable`が見つからない場合(term: view configuration`が `` name`` / `` context`` / `` 要求)。さらに、この関数は、ビュー関数が見つかって呼び出されたが、ビュー関数の結果に `` app_iter``属性がない場合、:exc: ValueError`を送出します。対応するビューが見つからない場合、この関数は ` None``を返します。

`` secure``が `` True``で、ビューがパーミッションで保護されている場合、パーミッションはビューが呼び出される前にチェックされます。権限チェックで(現在の:term: 認可ポリシー`に基づいて)ビューの実行が許可されない場合、a:exc: `pyramid.httpexceptions.HTTPForbidden`例外が送出されます。その ` args``属性は、なぜviewアクセスが許可されなかったのかを説明します。

`` secure``が `` False``の場合、権限チェックは行われません。

class view_config(**settings)[ソース]

関数:クラス:メソッド:term: decorator:開発者はビュー登録をa:term:` view callable`に近いものにすることができます:term: imperative configuration

例えば、このコードは `` views.py`` ::モジュール

from resources import MyResource

@view_config(name='my_view', context=MyResource, permission='read',
             route_name='site1')
def my_view(context, request):
    return 'OK'

:meth: `pyramid.config.Configurator.add_view`メソッドへの以下の呼び出しを置き換えるかもしれません:

import views
from resources import MyResource
config.add_view(views.my_view, context=MyResource, name='my_view',
                permission='read', route_name='site1')

:class: pyramid.view.view_config`は、 context`、` exception`、` permission`、` name`、` request_type`、` route_name`のキーワード引数をサポートしています。 ` request_method``、 `` request_param``、 `` containment``、 `` xhr``、 `` accept``、 `` header``、 `` path_info``、 `` custom_predicates``、 http_cache``、 require_csrf`、` match_param``、 check_csrf`、` physical_path`、` view_options``のように、 デコレータ デコレータ `

これらの引数の意味は、meth: pyramid.config.Configurator.add_view`に渡される引数と同じです。引数が指定されていない場合、デフォルトは ` add_view``と同じです。

:term: venusian` attach``関数に渡される2つの追加のキーワード引数は _depth``と `_category``です。

`` _depth``はこのクラスを別のデコレータから再利用したい人に提供されます。デフォルト値は `` 0``で、 `` view_config``の呼び出しに関連して指定する必要があります。 Venusianがデコレータがクラスまたはモジュールコンテキストで使用されているかどうかをチェックするときに、callstackの深さとして:term: venusian` `attach``関数に渡されます。それは頻繁には使用されませんが、この状況では便利です。

`` _category``はデコレータのカテゴリ名を設定します。これは、どのビューを処理するかを制御する `` scan``の `` category``引数と組み合わせて使うと便利です。

`` _depth``と `` _category``引数の詳細については、Venusianの:py:func: `venusian.attach`関数を参照してください。

参考

参照:ref: mapping_views_using_a_decorator_section:class:` pyramid.view.view_config`の使い方の詳細については、

警告

`` view_config``は、 `` venusian.Scanner.scan``の制限のために、モジュールトップレベルメンバ上でのみ動作します。

class view_defaults(**settings)[ソース]

class:term: decorator:クラスに適用すると、クラスを使用するすべてのビュー設定のデフォルトが提供されます。このデコレータは、:meth: `pyramid.view.view_config`によって受け入れられるすべての引数を受け入れ、それぞれ同じ意味を持ちます。

詳細は、:ref: `view_defaults`を参照してください。

class notfound_view_config(**settings)[ソース]

バージョン 1.3 で追加.

'class: pyramid.view.view_config`の類義語::term: Not Found View`:meth: `pyramid.config.Configurator.add_notfound_view`を使って登録します。

`` notfound_view_config``コンストラクタは:class: `pyramid.view.view_config`のコンストラクタと同じ引数の大部分を受け取ります。これは、同じ場所で使用することができ、ほとんど同じように動作しますが、「通常の」ビューの代わりに常に見つからない例外ビューが登録される点が異なります。

例:

from pyramid.view import notfound_view_config
from pyramid.response import Response

@notfound_view_config()
def notfound(request):
    return Response('Not found!', status='404 Not Found')

`` append_slash``を除くすべての引数は:meth: `pyramid.view.view_config`と同じ意味を持ち、各述語引数は、この無関係なビューが呼び出される環境の集合を制限します。

`` append_slash``が `` True``である場合、Not Found Viewが呼び出され、現在のパス情報がスラッシュで終わらない場合、notfoundロジックは:term: route`を見つけようとします。リクエストのパス情報の末尾にスラッシュが付きます。このようなルートが存在する場合、Pyramidはそのルートが意味するURLにリダイレクトを発行します。もしそうでなければ、Pyramidは通常通り ` view``として提供された呼び出し可能なビューの結果を返します。

`` append_slash``として提供された引数がブール値ではなく、代わりに:class: 〜pyramid.interfaces.IResponse`を実装する場合、append_slashロジックは `append_slash = True``が渡されたかのように動作しますが、リダイレクトが実行されたときのデフォルト:class: `〜pyramid.httpexceptions.HTTPFound`レスポンスクラスの代わりにレスポンスクラスとして使用されます。例えば:

from pyramid.httpexceptions import (
    HTTPMovedPermanently,
    HTTPNotFound
    )

@notfound_view_config(append_slash=HTTPMovedPermanently)
def aview(request):
    return HTTPNotFound('not found')

上記のことは、スラッシュが追加されたルートへのリダイレクトが試みられるが、class: 〜pyramid.httpexceptions.HTTPFound`の代わりに:class:〜pyramid.httpexceptions.HTTPMovedPermanently`がリダイレクトに使用されることを意味するスラッシュが追加されたルートが見つかった場合の応答。

詳細な使用法については、ref: `changing_the_notfound_view`を参照してください。

バージョン 1.9.1 で変更: `` _depth``と `` _category``引数を追加しました。

class forbidden_view_config(**settings)[ソース]

バージョン 1.3 で追加.

'class: `pyramid.view.view_config`の類義語::term:`禁止されたビュー'を:meth: `pyramid.config.Configurator.add_forbidden_​​view`を使って登録します。

forbidden_​​view_configコンストラクタは:class: `pyramid.view.view_config`のコンストラクタと同じ引数の大部分を受け入れます。同じ場所で使用することができ、ほとんど同じように動作しますが、通常のビューではなく禁止された例外ビューが常に登録されます。

例:

from pyramid.view import forbidden_view_config
from pyramid.response import Response

@forbidden_view_config()
def forbidden(request):
    return Response('You are not allowed', status='403 Forbidden')

この関数に渡されるすべての引数は、:meth: `pyramid.view.view_config`と同じ意味を持ち、各述語引数は、この無関係なビューが呼び出される環境の集合を制限します。

詳細な使用法については、ref: `changing_the_forbidden_​​view`を参照してください。

バージョン 1.9.1 で変更: `` _depth``と `` _category``引数を追加しました。

class exception_view_config(*args, **settings)[ソース]

バージョン 1.8 で追加.

以下のように:class: pyramid.view.view_config`の類義語::term:`例外ビュー `を:meth: pyramid.config.Configurator.add_exception_view`を使って登録します。

`` exception_view_config``コンストラクタは例外コンテキストを必要とし、さらに:class: `pyramid.view.view_config`のコンストラクタと同じ引数の大部分を受け入れます。これは、同じ場所で使用することができ、ほとんど同じように動作しますが、request:term: `context`にディスパッチする"通常"ビューではなく例外ビューを常に登録します。

例:

from pyramid.view import exception_view_config
from pyramid.response import Response

@exception_view_config(ValueError, renderer='json')
def error_view(request):
    return {'error': str(request.exception)}

この関数に渡されるすべての引数は、:meth: `pyramid.view.view_config`と同じ意味を持ち、各述語引数は、この例外ビューが呼び出される環境の集合を制限します。

バージョン 1.9.1 で変更: `` _depth``と `` _category``引数を追加しました。