summaryrefslogtreecommitdiff
path: root/docs/quick_tutorial/rest_ajax.rst
diff options
context:
space:
mode:
authorPaul Everitt <paul@agendaless.com>2013-09-13 16:52:14 -0400
committerPaul Everitt <paul@agendaless.com>2013-09-13 16:52:14 -0400
commitb1b92284f496800a4dfd2cea72cb9be07ba8661c (patch)
tree9dfa72427fd6aa0a3a7aaba72be4a4e49380ee26 /docs/quick_tutorial/rest_ajax.rst
parent1d04f8f0b483b8d595f5ada24ae5108affe80160 (diff)
downloadpyramid-b1b92284f496800a4dfd2cea72cb9be07ba8661c.tar.gz
pyramid-b1b92284f496800a4dfd2cea72cb9be07ba8661c.tar.bz2
pyramid-b1b92284f496800a4dfd2cea72cb9be07ba8661c.zip
First cut at import of quick tutorial.
Diffstat (limited to 'docs/quick_tutorial/rest_ajax.rst')
-rw-r--r--docs/quick_tutorial/rest_ajax.rst62
1 files changed, 62 insertions, 0 deletions
diff --git a/docs/quick_tutorial/rest_ajax.rst b/docs/quick_tutorial/rest_ajax.rst
new file mode 100644
index 000000000..69a940818
--- /dev/null
+++ b/docs/quick_tutorial/rest_ajax.rst
@@ -0,0 +1,62 @@
+==================
+29: REST with Ajax
+==================
+
+Use Ajax operations to talk to a REST interface.
+
+Objectives
+==========
+
+- Populate a list with JSON data
+
+- Update contents with client-side forms that post to REST operations
+
+Steps
+=====
+
+#. We are going to use the previous step as our starting point:
+
+ .. code-block:: bash
+
+ (env27)$ cd ..; cp -r rest_ajax_layout rest_ajax; cd rest_ajax
+ (env27)$ python setup.py develop
+
+#. Let's first add a Javascript file that implements our browser-side
+ logic and talks to the REST service:
+
+#. Introduce ``pyramid_jinja2`` dependency in
+ ``rest_ajax/tutorial/static/site.js``:
+
+ .. literalinclude:: rest_ajax/tutorial/static/site.js
+ :language: js
+ :linenos:
+
+#. Add a ``<script>`` reference to this at the bottom of
+ ``rest_ajax/tutorial/templates/layout.jinja2``
+
+ .. literalinclude:: rest_ajax/tutorial/templates/layout.jinja2
+ :language: html
+ :linenos:
+
+#. Update ``rest_ajax/tutorial/templates/folder.jinja2`` to include a
+ modal dialog:
+
+ .. literalinclude:: rest_ajax/tutorial/templates/folder.jinja2
+ :language: html
+ :linenos:
+
+#. Our views in ``rest_ajax/tutorial/views.py`` need to handle our
+ REST operations:
+
+ .. literalinclude:: rest_ajax/tutorial/views.py
+ :linenos:
+
+#. Run your Pyramid application with:
+
+ .. code-block:: bash
+
+ (env27)$ pserve development.ini --reload
+
+#. Open ``http://localhost:6543/`` in your browser and
+ add (+ button), edit (click link), and delete (click trash icon)
+ items in the root folder. \ No newline at end of file