1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
.. _qtut_scaffolds:
=============================================
Prelude: Quick Project Startup with Scaffolds
=============================================
To ease the process of getting started, Pyramid provides *scaffolds*
that generate sample projects from templates in Pyramid and Pyramid
add-ons.
Background
==========
We're going to cover a lot in this tutorial, focusing on one topic at a
time and writing everything from scratch. As a warmup, though,
it sure would be nice to see some pixels on a screen.
Like other web development frameworks, Pyramid provides a number of
"scaffolds" that generate working Python, template, and CSS code for
sample applications. In this step we'll use a built-in scaffold to let
us preview a Pyramid application, before starting from scratch on Step 1.
Objectives
==========
- Use Pyramid's ``pcreate`` command to list scaffolds and make a new
project
- Start up a Pyramid application and visit it in a web browser
Steps
=====
#. Pyramid's ``pcreate`` command can list the available scaffolds:
.. code-block:: bash
$ $VENV/bin/pcreate --list
Available scaffolds:
alchemy: Pyramid SQLAlchemy project using url dispatch
starter: Pyramid starter project
zodb: Pyramid ZODB project using traversal
#. Tell ``pcreate`` to use the ``starter`` scaffold to make our project:
.. code-block:: bash
$ $VENV/bin/pcreate --scaffold starter scaffolds
#. Use normal Python development to setup our project for development:
.. code-block:: bash
$ cd scaffolds
$ $VENV/bin/python setup.py develop
#. Startup the application by pointing Pyramid's ``pserve`` command at
the project's (generated) configuration file:
.. code-block:: bash
$ $VENV/bin/pserve development.ini --reload
On startup, ``pserve`` logs some output:
.. code-block:: bash
Starting subprocess with file monitor
Starting server in PID 72213.
Starting HTTP server on http://0.0.0.0:6543
#. Open http://localhost:6543/ in your browser.
Analysis
========
Rather than starting from scratch, ``pcreate`` can make getting a
Python project containing a Pyramid application a quick matter.
Pyramid ships with a few scaffolds. But installing a Pyramid add-on can
give you new scaffolds from that add-on.
``pserve`` is Pyramid's application runner, separating operational
details from your code. When you install Pyramid, a small command
program called ``pserve`` is written to your ``bin`` directory. This
program is an executable Python module. It is passed a configuration
file (in this case, ``development.ini``.)
|