summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/quick_tutorial/templating.rst5
-rw-r--r--docs/quick_tutorial/view_classes.rst69
2 files changed, 36 insertions, 38 deletions
diff --git a/docs/quick_tutorial/templating.rst b/docs/quick_tutorial/templating.rst
index dbcf76a0a..ec6de98f8 100644
--- a/docs/quick_tutorial/templating.rst
+++ b/docs/quick_tutorial/templating.rst
@@ -22,8 +22,9 @@ fortunate: developers have strong views about template languages. As of
Pyramid 1.5a2, Pyramid doesn't even bundle a template language!
It does, however, have strong ties to Jinja2, Mako, and Chameleon. In this step
-we see how to add ``pyramid_chameleon`` to your project, then change your views
-to use templating.
+we see how to add `pyramid_chameleon
+<https://github.com/Pylons/pyramid_chameleon>`_ to your project, then change
+your views to use templating.
Objectives
diff --git a/docs/quick_tutorial/view_classes.rst b/docs/quick_tutorial/view_classes.rst
index cc5337493..05d97a9b1 100644
--- a/docs/quick_tutorial/view_classes.rst
+++ b/docs/quick_tutorial/view_classes.rst
@@ -4,8 +4,9 @@
09: Organizing Views With View Classes
======================================
-Change our view functions to be methods on a view class,
-then move some declarations to the class level.
+Change our view functions to be methods on a view class, then move some
+declarations to the class level.
+
Background
==========
@@ -15,27 +16,27 @@ views are related to one another. They may be different ways to look at or work
on the same data, or be a REST API that handles multiple operations. Grouping
these views together as a :ref:`view class <class_as_view>` makes sense:
-- Group views
+- Group views.
+
+- Centralize some repetitive defaults.
-- Centralize some repetitive defaults
+- Share some state and helpers.
-- Share some state and helpers
+In this step we just do the absolute minimum to convert the existing views to a
+view class. In a later tutorial step, we'll examine view classes in depth.
-In this step we just do the absolute minimum to convert the existing
-views to a view class. In a later tutorial step we'll examine view
-classes in depth.
Objectives
==========
-- Group related views into a view class
+- Group related views into a view class.
+
+- Centralize configuration with class-level ``@view_defaults``.
-- Centralize configuration with class-level ``@view_defaults``
Steps
=====
-
#. First we copy the results of the previous step:
.. code-block:: bash
@@ -43,15 +44,15 @@ Steps
$ cd ..; cp -r templating view_classes; cd view_classes
$ $VENV/bin/pip install -e .
-#. Our ``view_classes/tutorial/views.py`` now has a view class with
- our two views:
+#. Our ``view_classes/tutorial/views.py`` now has a view class with our two
+ views:
.. literalinclude:: view_classes/tutorial/views.py
:linenos:
-#. Our unit tests in ``view_classes/tutorial/tests.py`` don't run,
- so let's modify them to import the view class and make an instance
- before getting a response:
+#. Our unit tests in ``view_classes/tutorial/tests.py`` don't run, so let's
+ modify them to import the view class, and make an instance before getting a
+ response:
.. literalinclude:: view_classes/tutorial/tests.py
:linenos:
@@ -61,12 +62,9 @@ Steps
.. code-block:: bash
- $ $VENV/bin/nosetests tutorial
- .
- ----------------------------------------------------------------------
- Ran 4 tests in 0.141s
-
- OK
+ $ $VENV/bin/py.test tutorial/tests.py -q
+ ....
+ 4 passed in 0.34 seconds
#. Run your Pyramid application with:
@@ -74,24 +72,23 @@ Steps
$ $VENV/bin/pserve development.ini --reload
-#. Open http://localhost:6543/ and http://localhost:6543/howdy
- in your browser.
+#. Open http://localhost:6543/ and http://localhost:6543/howdy in your browser.
+
Analysis
========
To ease the transition to view classes, we didn't introduce any new
-functionality. We simply changed the view functions to methods on a
-view class, then updated the tests.
-
-In our ``TutorialViews`` view class you can see that our two view
-classes are logically grouped together as methods on a common class.
-Since the two views shared the same template, we could move that to a
-``@view_defaults`` decorator at the class level.
-
-The tests needed to change. Obviously we needed to import the view
-class. But you can also see the pattern in the tests of instantiating
-the view class with the dummy request first, then calling the view
-method being tested.
+functionality. We simply changed the view functions to methods on a view class,
+then updated the tests.
+
+In our ``TutorialViews`` view class, you can see that our two view classes are
+logically grouped together as methods on a common class. Since the two views
+shared the same template, we could move that to a ``@view_defaults`` decorator
+at the class level.
+
+The tests needed to change. Obviously we needed to import the view class. But
+you can also see the pattern in the tests of instantiating the view class with
+the dummy request first, then calling the view method being tested.
.. seealso:: :ref:`class_as_view`