diff options
| author | Jeff Cook <jeff@deserettechnology.com> | 2012-06-17 01:20:37 -0600 |
|---|---|---|
| committer | Jeff Cook <jeff@deserettechnology.com> | 2012-06-17 01:20:37 -0600 |
| commit | 2516df30d73afdf6606ad3d89b7c24ab496f356d (patch) | |
| tree | 673992988e89ef2e1de390c3a356dbdf39bdfc78 | |
| parent | a319249fdb6e0539e65e0b297829ed8c7f799b98 (diff) | |
| download | pyramid-2516df30d73afdf6606ad3d89b7c24ab496f356d.tar.gz pyramid-2516df30d73afdf6606ad3d89b7c24ab496f356d.tar.bz2 pyramid-2516df30d73afdf6606ad3d89b7c24ab496f356d.zip | |
docs: Add view callable example to section on rendering_val.
| -rw-r--r-- | docs/narr/hooks.rst | 31 | ||||
| -rw-r--r-- | pyramid/events.py | 18 |
2 files changed, 38 insertions, 11 deletions
diff --git a/docs/narr/hooks.rst b/docs/narr/hooks.rst index 30eec04f0..332805152 100644 --- a/docs/narr/hooks.rst +++ b/docs/narr/hooks.rst @@ -291,18 +291,33 @@ factories must be unique. The dictionary returned from the view is accessible through the :attr:`rendering_val` attribute of a :class:`~pyramid.events.BeforeRender` -event, like so: +event. + +Suppose you return ``{'mykey': 'somevalue', 'mykey2': 'somevalue2'}`` from +your view callable, like so: .. code-block:: python - :linenos: + :linenos: - from pyramid.events import subscriber - from pyramid.events import BeforeRender + from pyramid.view import view_config - @subscriber(BeforeRender) - def read_return(event): - # 'mykey' is returned from the view - print(event.rendering_val['mykey']) + @view_config(renderer='some_renderer') + def myview(request): + return {'mykey': 'somevalue', 'mykey2': 'somevalue2'} + +:attr:`rendering_val` can be used to access these values from the +:class:`~pyramid.events.BeforeRender` object: + +.. code-block:: python + :linenos: + + from pyramid.events import subscriber + from pyramid.events import BeforeRender + + @subscriber(BeforeRender) + def read_return(event): + # {'mykey': 'somevalue'} is returned from the view + print(event.rendering_val['mykey']) See the API documentation for the :class:`~pyramid.events.BeforeRender` event interface at :class:`pyramid.interfaces.IBeforeRender`. diff --git a/pyramid/events.py b/pyramid/events.py index 1941c594c..db274823c 100644 --- a/pyramid/events.py +++ b/pyramid/events.py @@ -202,17 +202,29 @@ class BeforeRender(dict): The dictionary returned from the view is accessible through the :attr:`rendering_val` attribute of a :class:`~pyramid.events.BeforeRender` - event, like so:: + event. + + Suppose you return ``{'mykey': 'somevalue', 'mykey2': 'somevalue2'}`` from + your view callable, like so:: + + from pyramid.view import view_config + + @view_config(renderer='some_renderer') + def myview(request): + return {'mykey': 'somevalue', 'mykey2': 'somevalue2'} + + :attr:`rendering_val` can be used to access these values from the + :class:`~pyramid.events.BeforeRender` object:: from pyramid.events import subscriber from pyramid.events import BeforeRender @subscriber(BeforeRender) def read_return(event): - # "mykey" is returned from the view + # {'mykey': 'somevalue'} is returned from the view print(event.rendering_val['mykey']) - In other words, ``rendering_val`` is the (non-system) value returned by a + In other words, :attr:`rendering_val` is the (non-system) value returned by a view or passed to ``render*`` as ``value``. This feature is new in Pyramid 1.2. |
