diff options
author | Ryan Petrello <lists@ryanpetrello.com> | 2012-03-29 13:16:46 -0400 |
---|---|---|
committer | Ryan Petrello <lists@ryanpetrello.com> | 2012-03-29 13:16:46 -0400 |
commit | 6f3c8263cc9512c9da7e1ea45706c4c2277185c7 (patch) | |
tree | 949187e5ce694d9c9eb8c4661dc5e50623c39784 | |
parent | d9e70f955b2cdf4d8a2b410486cff9caacfe4289 (diff) | |
download | pecan-6f3c8263cc9512c9da7e1ea45706c4c2277185c7.tar.gz |
Error doc tweak.
-rw-r--r-- | docs/source/errors.rst | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/docs/source/errors.rst b/docs/source/errors.rst index afb4a9b..c7c9092 100644 --- a/docs/source/errors.rst +++ b/docs/source/errors.rst @@ -3,13 +3,13 @@ Custom Error Documents ====================== In this article we will configure a Pecan application to display a custom -Error page whenever the server returns ``404 Page not Found`` status. +error page whenever the server returns a ``404 Page Not Found`` status. This article assumes that you have already created a test application as -described in :ref:`quick_start` +described in :ref:`quick_start`. .. note:: - While this example focuses on the ``HTTP 404 status`` message, the same + While this example focuses on the ``HTTP 404`` message, the same technique may be applied to define custom actions for any of the ``HTTP`` status response codes in the 400 and 500 range. You are well advised to use this power judiciously. @@ -22,17 +22,17 @@ Overview Pecan makes it simple to customize error documents in two simple steps: * :ref:`configure` of the HTTP status messages you want to handle - in your application's config.py + in your application's ``config.py`` * :ref:`controllers` to handle the status messages you have configured .. _configure: Configure Routing ----------------- -Let's configure our application *test_project* to route the ``HTTP 404`` -(page not found) messages to our custom built controller. +Let's configure our application ``test_project`` to route ``HTTP 404 Page +Not Found`` messages to a custom controller. -First, we tweak test_project/config.py:: +First, let's tweak ``test_project/config.py``:: # Pecan Application Configurations app = { @@ -43,8 +43,8 @@ First, we tweak test_project/config.py:: 'reload' : True, 'debug' : True, - ## modify the 'errors' element to direct HTTP status codes to your - ## own controller. + # modify the 'errors' key to direct HTTP status codes to a custom + # controller 'errors' : { #404 : '/error/404', 404 : '/notfound', @@ -53,17 +53,17 @@ First, we tweak test_project/config.py:: } Instead of the default error page, Pecan will now route 404 messages to our -very own controller named *notfound*. +very own controller named ``notfound``. -Let us now implement the *notfound* Controller +Next, let's implement the ``notfound`` controller. .. _controllers: Write Custom Controllers ------------------------ -The easiest way to implement our custom *notfound* error controller is to +The easiest way to implement our custom ``notfound`` error controller is to add it to ``test_project.root.RootController`` class -(typically in test_project/controllers/root.py):: +(typically in ``test_project/controllers/root.py``):: from pecan import expose from webob.exc import status_map @@ -98,7 +98,7 @@ add it to ``test_project.root.RootController`` class And that's it! -Notice that the only bit of code we added to our RootController is:: +Notice that the only bit of code we added to our RootController was:: ## custom handling of '404 Page Not Found' messages @expose('error.html') @@ -107,10 +107,10 @@ Notice that the only bit of code we added to our RootController is:: We simply ``@expose`` the ``notfound`` controller with the ``error.html`` template (which was conveniently generated for us and placed under -test_project/templates/ when we created ``test_project``). As with any common -controller *@expose*'d through a template, we return a dictionary of variables -for interpolation by the template renderer. +``test_project/templates/`` when we created ``test_project``). As with any +Pecan controller, we return a dictionary of variables for interpolation by the +template renderer. Now we can modify the error template, or write a brand new one to make the 404 -error status page or ``test_project`` as pretty or fancy as we want. +error status page of ``test_project`` as pretty or fancy as we want. |