summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial/hello_world.rst
diff options
context:
space:
mode:
authorDariusz Górecki <darek.krk@gmail.com>2016-07-15 17:21:44 +0100
committerDariusz Górecki <darek.krk@gmail.com>2016-07-15 17:21:44 +0100
commitd54e0ae42b0289df89b5b73722d5c11d0f13a8ba (patch)
treeef4aaf5781ccdc22323476ec5407dc4112b33d7e /docs/quick_tutorial/hello_world.rst
parent744bf0565a15a40f5c04cc8b0c1fe84a2ca489da (diff)
parent37d124e64268be3a1fb82bed78c6c45eeee52140 (diff)
downloadpyramid-d54e0ae42b0289df89b5b73722d5c11d0f13a8ba.tar.gz
pyramid-d54e0ae42b0289df89b5b73722d5c11d0f13a8ba.tar.bz2
pyramid-d54e0ae42b0289df89b5b73722d5c11d0f13a8ba.zip
Merge upstream master
Diffstat (limited to 'docs/quick_tutorial/hello_world.rst')
-rw-r--r--docs/quick_tutorial/hello_world.rst83
1 files changed, 41 insertions, 42 deletions
diff --git a/docs/quick_tutorial/hello_world.rst b/docs/quick_tutorial/hello_world.rst
index 4ae80ca87..56dccde58 100644
--- a/docs/quick_tutorial/hello_world.rst
+++ b/docs/quick_tutorial/hello_world.rst
@@ -4,40 +4,40 @@
01: Single-File Web Applications
================================
-What's the simplest way to get started in Pyramid? A single-file module.
-No Python packages, no ``setup.py``, no other machinery.
+What's the simplest way to get started in Pyramid? A single-file module. No
+Python packages, no ``pip install -e .``, no other machinery.
+
Background
==========
-Microframeworks are all the rage these days. "Microframework" is a
-marketing term, not a technical one. They have a low mental overhead:
-they do so little, the only things you have to worry about are *your
-things*.
+Microframeworks are all the rage these days. "Microframework" is a marketing
+term, not a technical one. They have a low mental overhead: they do so little,
+the only things you have to worry about are *your things*.
+
+Pyramid is special because it can act as a single-file module microframework.
+You can have a single Python file that can be executed directly by Python. But
+Pyramid also provides facilities to scale to the largest of applications.
-Pyramid is special because it can act as a single-file module
-microframework. You can have a single Python file that can be executed
-directly by Python. But Pyramid also provides facilities to scale to
-the largest of applications.
+Python has a standard called :term:`WSGI` that defines how Python web
+applications plug into standard servers, getting passed incoming requests, and
+returning responses. Most modern Python web frameworks obey an "MVC"
+(model-view-controller) application pattern, where the data in the model has a
+view that mediates interaction with outside systems.
-Python has a standard called :term:`WSGI` that defines how
-Python web applications plug into standard servers, getting passed
-incoming requests and returning responses. Most modern Python web
-frameworks obey an "MVC" (model-view-controller) application pattern,
-where the data in the model has a view that mediates interaction with
-outside systems.
+In this step we'll see a brief glimpse of WSGI servers, WSGI applications,
+requests, responses, and views.
-In this step we'll see a brief glimpse of WSGI servers, WSGI
-applications, requests, responses, and views.
Objectives
==========
-- Get a running Pyramid web application, as simply as possible
+- Get a running Pyramid web application, as simply as possible.
+
+- Use that as a well-understood base for adding each unit of complexity.
-- Use that as a well-understood base for adding each unit of complexity
+- Initial exposure to WSGI apps, requests, views, and responses.
-- Initial exposure to WSGI apps, requests, views, and responses
Steps
=====
@@ -64,32 +64,31 @@ Steps
#. Open http://localhost:6543/ in your browser.
+
Analysis
========
-New to Python web programming? If so, some lines in module merit
+New to Python web programming? If so, some lines in the module merit
explanation:
-#. *Line 11*. The ``if __name__ == '__main__':`` is Python's way of
- saying "Start here when running from the command line", rather than
- when this module is imported.
+#. *Line 11*. The ``if __name__ == '__main__':`` is Python's way of saying,
+ "Start here when running from the command line", rather than when this
+ module is imported.
+
+#. *Lines 12-14*. Use Pyramid's :term:`configurator` to connect :term:`view`
+ code to a particular URL :term:`route`.
-#. *Lines 12-14*. Use Pyramid's :term:`configurator` to connect
- :term:`view` code to a particular URL :term:`route`.
+#. *Lines 6-8*. Implement the view code that generates the :term:`response`.
-#. *Lines 6-8*. Implement the view code that generates the
- :term:`response`.
+#. *Lines 15-17*. Publish a :term:`WSGI` app using an HTTP server.
-#. *Lines 15-17*. Publish a :term:`WSGI` app using an HTTP
- server.
+As shown in this example, the :term:`configurator` plays a central role in
+Pyramid development. Building an application from loosely-coupled parts via
+:ref:`configuration_narr` is a central idea in Pyramid, one that we will
+revisit regularly in this *Quick Tutorial*.
-As shown in this example, the :term:`configurator` plays a
-central role in Pyramid development. Building an application from
-loosely-coupled parts via :ref:`configuration_narr` is a
-central idea in Pyramid, one that we will revisit regularly in this
-*Quick Tour*.
-Extra Credit
+Extra credit
============
#. Why do we do this:
@@ -106,9 +105,9 @@ Extra Credit
#. What happens if you return a string of HTML? A sequence of integers?
-#. Put something invalid, such as ``print xyz``, in the view function.
- Kill your ``python app.py`` with ``cntrl-c`` and restart,
- then reload your browser. See the exception in the console?
+#. Put something invalid, such as ``print xyz``, in the view function. Kill
+ your ``python app.py`` with ``ctrl-C`` and restart, then reload your
+ browser. See the exception in the console?
-#. The ``GI`` in ``WSGI`` stands for "Gateway Interface". What web
- standard is this modelled after?
+#. The ``GI`` in ``WSGI`` stands for "Gateway Interface". What web standard is
+ this modelled after?