summaryrefslogtreecommitdiff
path: root/docs/getting_started/quick_glance/views
diff options
context:
space:
mode:
Diffstat (limited to 'docs/getting_started/quick_glance/views')
-rw-r--r--docs/getting_started/quick_glance/views/app.py5
-rw-r--r--docs/getting_started/quick_glance/views/views.py26
2 files changed, 28 insertions, 3 deletions
diff --git a/docs/getting_started/quick_glance/views/app.py b/docs/getting_started/quick_glance/views/app.py
index 1e12b6581..54dc9ed4b 100644
--- a/docs/getting_started/quick_glance/views/app.py
+++ b/docs/getting_started/quick_glance/views/app.py
@@ -3,7 +3,10 @@ from pyramid.config import Configurator
if __name__ == '__main__':
config = Configurator()
- config.add_route('hello', '/hello/{name}')
+ config.add_route('home', '/')
+ config.add_route('hello', '/howdy')
+ config.add_route('redirect', '/goto')
+ config.add_route('exception', '/problem')
config.scan('views')
app = config.make_wsgi_app()
server = make_server('0.0.0.0', 6543, app)
diff --git a/docs/getting_started/quick_glance/views/views.py b/docs/getting_started/quick_glance/views/views.py
index 53a6a273a..9dc795f14 100644
--- a/docs/getting_started/quick_glance/views/views.py
+++ b/docs/getting_started/quick_glance/views/views.py
@@ -1,7 +1,29 @@
+from pyramid.httpexceptions import HTTPFound
from pyramid.response import Response
from pyramid.view import view_config
+# First view, available at http://localhost:6543/
+@view_config(route_name='home')
+def home_view(request):
+ return Response('<p>Visit <a href="/howdy?name=lisa">hello</a></p>')
+
+
+# /howdy?name=alice which links to the next view
@view_config(route_name='hello')
-def hello_world(request):
- return Response('<h1>Hello %(name)s!</h1>' % request.matchdict)
+def hello_view(request):
+ name = request.params.get('name', 'No Name')
+ body = '<p>Hi %s, this <a href="/goto">redirects</a></p>'
+ return Response(body % name)
+
+
+# /goto which issues HTTP redirect to the last view
+@view_config(route_name='redirect')
+def redirect_view(request):
+ return HTTPFound(location="/problem")
+
+
+# /problem which causes an site error
+@view_config(route_name='exception')
+def exception_view(request):
+ raise Exception()