diff options
| author | Paul Everitt <paul@agendaless.com> | 2013-09-13 16:52:14 -0400 |
|---|---|---|
| committer | Paul Everitt <paul@agendaless.com> | 2013-09-13 16:52:14 -0400 |
| commit | b1b92284f496800a4dfd2cea72cb9be07ba8661c (patch) | |
| tree | 9dfa72427fd6aa0a3a7aaba72be4a4e49380ee26 /docs/quick_tutorial/rest_ajax.rst | |
| parent | 1d04f8f0b483b8d595f5ada24ae5108affe80160 (diff) | |
| download | pyramid-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.rst | 62 |
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 |
