summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Cook <jeff@deserettechnology.com>2012-06-17 01:20:37 -0600
committerJeff Cook <jeff@deserettechnology.com>2012-06-17 01:20:37 -0600
commit2516df30d73afdf6606ad3d89b7c24ab496f356d (patch)
tree673992988e89ef2e1de390c3a356dbdf39bdfc78
parenta319249fdb6e0539e65e0b297829ed8c7f799b98 (diff)
downloadpyramid-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.rst31
-rw-r--r--pyramid/events.py18
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.