Merge branch 'master' of github.com:Pylons/pyramid
| | |
| | | *$py.class |
| | | *.pt.py |
| | | *.txt.py |
| | | *~ |
| | | .coverage |
| | | tutorial.db |
| | | env26/ |
| | |
| | | framework. It makes real-world web application development and deployment |
| | | more fun, more predictable, and more productive. |
| | | |
| | | Pyramid is a `Pylons <http://docs.pylonshq.com/>`_ project, and underlies the |
| | | Pyramid is a `Pylons <http://docs.pylonsproject.org/>`_ project, and underlies the |
| | | newest web frameworks produced by the Pylons community. |
| | | |
| | | Pyramid was previously known as `repoze.bfg <http://bfg.repoze.org>`_. |
| | |
| | | Support and Documentation |
| | | ------------------------- |
| | | |
| | | See the `Pylons Project website <http://docs.pylonshq.com/>`_ to view |
| | | See the `Pylons Project website <http://docs.pylonsproject.org/>`_ to view |
| | | documentation, report bugs, and obtain support. |
| | | |
| | | License |
| | |
| | | |
| | | URLs are presented using the following style: |
| | | |
| | | `Pylons <http://pylonshq.com>`_ |
| | | `Pylons <http://pylonsproject.org>`_ |
| | | |
| | | References to sections and chapters are presented using the following |
| | | style: |
| | |
| | | ---------------------------- |
| | | |
| | | An HTML version of this book is freely available via |
| | | http://docs.pylonshq.com |
| | | http://docs.pylonsproject.org |
| | | |
| | | The source code for the examples used in this book are available |
| | | within the :app:`Pyramid` software distribution, always available |
| | |
| | | # this is executed if the request method was GET or the |
| | | # credentials were invalid |
| | | |
| | | The `Pylons 1.X <http://pylonshq.com>`_ web framework uses a similar |
| | | The `Pylons 1.X <http://pylonsproject.org>`_ web framework uses a similar |
| | | strategy. It calls these things "Stacked Object Proxies", so, for purposes |
| | | of this discussion, I'll do so as well. |
| | | |
| | |
| | | |
| | | :app:`Pyramid` is a small, fast, down-to-earth Python web application |
| | | development framework. It is developed as part of the `Pylons Project |
| | | <http://docs.pylonshq.com/>`_. It is licensed under a `BSD-like license |
| | | <http://docs.pylonsproject.org/>`_. It is licensed under a `BSD-like license |
| | | <http://repoze.org/license.html>`_. |
| | | |
| | | .. note:: |
| | |
| | | Support and Development |
| | | ======================= |
| | | |
| | | The `Pylons Project web site <http://docs.pylonshq.com/>`_ is the main online |
| | | The `Pylons Project web site <http://pylonsproject.org/>`_ is the main online |
| | | source of :app:`Pyramid` support and development information. |
| | | |
| | | To report bugs, use the `issue tracker |
| | |
| | | |
| | | To find out how to become a contributor to :app:`Pyramid`, please see the |
| | | `contributor's section of the documentation |
| | | <http://docs.pylonshq.com/index.html#contributing>`_. |
| | | <http://docs.pylonsproject.org/index.html#contributing>`_. |
| | | |
| | | Index and Glossary |
| | | ================== |
| | |
| | | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| | | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:tal="http://xml.zope.org/namespaces/tal"> |
| | | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" |
| | | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| | | <html xmlns="http://www.w3.org/1999/xhtml" |
| | | xml:lang="en" |
| | | xmlns:tal="http://xml.zope.org/namespaces/tal"> |
| | | <head> |
| | | <title>The Pyramid Web Application Development Framework</title> |
| | | <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> |
| | | <meta name="keywords" content="python web application" /> |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.application_url}/static/favicon.ico" /> |
| | | <link rel="stylesheet" href="${request.application_url}/static/pylons.css" type="text/css" media="screen" charset="utf-8" /> |
| | | <link href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" rel="stylesheet" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.application_url}/static/ie6.css" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | | <title>The Pyramid Web Application Development Framework</title> |
| | | <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> |
| | | <meta name="keywords" content="python web application" /> |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" |
| | | href="${request.static_url('myproject:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" |
| | | href="${request.static_url('myproject:static/pylons.css')}" |
| | | type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" |
| | | href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" |
| | | type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" |
| | | href="${request.static_url('myproject:static/ie6.css')}" |
| | | type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | | </head> |
| | | <body> |
| | | <div id="wrap"> |
| | | <div id="top"> |
| | | <div class="top align-center"> |
| | | <div><img src="${request.application_url}/static/pyramid.png" width="750" height="169" alt="pyramid"/></div> |
| | | </div> |
| | | </div> |
| | | <div id="middle"> |
| | | <div class="middle align-center"> |
| | | <p class="app-welcome"> |
| | | Welcome to <span class="app-name">${project}</span>, an application generated by<br/> |
| | | the Pyramid web application development framework. |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div id="bottom"> |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | | </div> |
| | | <div id="right" class="align-left"> |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="footer"> |
| | | <div class="footer">© Copyright 2008-2010, Agendaless Consulting.</div> |
| | | </div> |
| | | <div id="wrap"> |
| | | <div id="top"> |
| | | <div class="top align-center"> |
| | | <div> |
| | | <img src="${request.static_url('myproject:static/pyramid.png')}" |
| | | width="750" height="169" alt="pyramid"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="middle"> |
| | | <div class="middle align-center"> |
| | | <p class="app-welcome"> |
| | | Welcome to <span class="app-name">${project}</span>, |
| | | an application generated by<br/> |
| | | the Pyramid web application development framework. |
| | | </p> |
| | | </div> |
| | | </div> |
| | | <div id="bottom"> |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" |
| | | action="http://docs.pylonsproject.org/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | | </div> |
| | | <div id="right" class="align-left"> |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonsproject.org"> |
| | | Pylons Website |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation"> |
| | | Narrative Documentation |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation"> |
| | | API Documentation |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials"> |
| | | Tutorials |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history"> |
| | | Change History |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications"> |
| | | Sample Applications |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development"> |
| | | Support and Development |
| | | </a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid"> |
| | | IRC Channel |
| | | </a> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="footer"> |
| | | <div class="footer">© Copyright 2008-2010, Agendaless Consulting.</div> |
| | | </div> |
| | | </body> |
| | | </html> |
| | |
| | | |
| | | :app:`Pyramid` is a member of the collection of software published under the |
| | | Pylons Project. Pylons software is written by a loose-knit community of |
| | | contributors. The `Pylons Project website <http://docs.pylonshq.com>`_ |
| | | contributors. The `Pylons Project website <http://docs.pylonsproject.org>`_ |
| | | includes details about how :app:`Pyramid` relates to the Pylons Project. |
| | | |
| | | .. index:: |
| | |
| | | URL Dispatch |
| | | ------------ |
| | | |
| | | Let's step back and consider the problem we're trying to solve, which is |
| | | simple. An HTTP request for a particular path has been routed to our web |
| | | application. The requested path will possibly invoke a specific :term:`view |
| | | callable` function defined somewhere in our app. We're trying to determine |
| | | *which* callable function, if any, should be invoked for a given requested |
| | | URL. |
| | | Let's step back and consider the problem we're trying to solve. An |
| | | HTTP request for a particular path has been routed to our web |
| | | application. The requested path will possibly invoke a specific |
| | | :term:`view callable` function defined somewhere in our app. We're |
| | | trying to determine *which* callable function, if any, should be |
| | | invoked for a given requested URL. |
| | | |
| | | Many systems, including Pyramid, offer a simple solution. They offer the |
| | | concept of "URL matching". URL matching approaches this problem by parsing |
| | |
| | | If the request path matches more than one pattern, some conflict resolution |
| | | scheme is used, usually a simple order precedence so that the first match |
| | | will take priority over any subsequent matches. If a request path doesn't |
| | | match any of the defined patterns, :app:`Pyramid` a "404 Not Found" response |
| | | is returned. |
| | | match any of the defined patterns, a "404 Not Found" response is returned. |
| | | |
| | | In Pyramid, we offer an implementation of URL mapping which we call |
| | | In Pyramid, we offer an implementation of URL matching which we call |
| | | :term:`URL dispatch`. Using :app:`Pyramid` syntax, we might have a match |
| | | pattern such as ``/{userid}/photos/{photoid}``, mapped to a ``photo_view()`` |
| | | function defined somewhere in our code. Then a request for a path such as |
| | |
| | | |
| | | The major difference between file system lookup and traversal is that a file |
| | | system lookup steps through nested directories and files in a file system |
| | | tree, while traversal steps through nested dictionary-type objects in an |
| | | tree, while traversal steps through nested dictionary-type objects in a |
| | | :term:`resource tree`. Let's take a detailed look at one of our example |
| | | paths, so we can see what I mean: |
| | | |
| | |
| | | ``joeschmoe``, ``photos`` and ``photo1``. With file system lookup we might |
| | | have a root folder (``/``) containing a nested folder (``joeschmoe``), which |
| | | contains another nested folder (``photos``), which finally contains a JPG |
| | | file ("photo1"). With traversal, we instead have a dictionary-like root |
| | | file (``photo1``). With traversal, we instead have a dictionary-like root |
| | | object. Asking for the ``joeschmoe`` key gives us another dictionary-like |
| | | object. Asking this in turn for the ``photos`` key gives us yet another |
| | | mapping object, which finally (hopefully) contains the resource that we're |
| | |
| | | restriction on how a :term:`resource` is implemented; a developer can |
| | | implement them as he wishes. One common pattern used is to persist all of |
| | | the resources, including the root, in a database as a graph. The root object |
| | | is a dictionarylike object. Dictionarylike objects in Python supply a |
| | | is a dictionary-like object. Dictionary-like objects in Python supply a |
| | | ``__getitem__`` method which is called when key lookup is done. Under the |
| | | hood, when ``adict`` is a dictionarylike object, Python translates |
| | | hood, when ``adict`` is a dictionary-like object, Python translates |
| | | ``adict['a']`` to ``adict.__getitem__('a')``. Try doing this in a Python |
| | | interpreter prompt if you don't believe us: |
| | | |
| | |
| | | 1 |
| | | |
| | | |
| | | The dictionarylike root object stores the ids of all of its subresources as |
| | | The dictionary-like root object stores the ids of all of its subresources as |
| | | keys, and provides a ``__getitem__`` implementation that fetches them. So |
| | | ``get_root()`` fetches the unique root object, while |
| | | ``get_root()['joeschmoe']`` returns a different object, also stored in the |
| | |
| | | provide the dictionary-like API (i.e. as long as they have an appropriately |
| | | implemented ``__getitem__`` method) then traversal will work. |
| | | |
| | | In fact, you don't need a "database" at all. You could trivially implement a |
| | | set of objects with ``__getitem__`` methods that search for files in specific |
| | | directories, and thus precisely recreate the older mechanism of having the |
| | | URL path mapped directly to a folder structure on the file system. Or you |
| | | could use plain dictionaries too. Traversal is in fact a superset of file |
| | | system lookup. |
| | | In fact, you don't need a "database" at all. You could use plain |
| | | dictionaries, with your site's URL structure hard-coded directly in |
| | | the Python source. Or you could trivially implement a set of objects |
| | | with ``__getitem__`` methods that search for files in specific |
| | | directories, and thus precisely recreate the traditional mechanism of |
| | | having the URL path mapped directly to a folder structure on the file |
| | | system. Traversal is in fact a superset of file system lookup. |
| | | |
| | | .. note:: See the chapter entitled :ref:`resources_chapter` for a more |
| | | technical overview of resources. |
| | |
| | | example, for instance, you might want to view the photo in a page, but you |
| | | might also want to provide a way for the user to edit the photo and any |
| | | associated metadata. We'll call the former the ``view`` view, and the latter |
| | | will be the ``edit`` view (Original, I know.) :app:`Pyramid` has a |
| | | centralized view registry where named views can be associated with specific |
| | | resource types. So in our example, we'll assume that we've registered |
| | | ``view`` and ``edit`` views for photo objects, and that we've specified the |
| | | ``view`` view as the default, so that ``/joeschmoe/photos/photo1/view`` and |
| | | ``/joeschmoe/photos/photo1`` are equivalent. The edit view would sensibly be |
| | | provided by a request for ``/joeschmoe/photos/photo1/edit``. |
| | | will be the ``edit`` view. (Original, I know.) :app:`Pyramid` has a |
| | | centralized view :term:`registry` where named views can be associated with |
| | | specific resource types. So in our example, we'll assume that we've |
| | | registered ``view`` and ``edit`` views for photo objects, and that we've |
| | | specified the ``view`` view as the default, so that |
| | | ``/joeschmoe/photos/photo1/view`` and ``/joeschmoe/photos/photo1`` are |
| | | equivalent. The edit view would sensibly be provided by a request for |
| | | ``/joeschmoe/photos/photo1/edit``. |
| | | |
| | | Hopefully it's clear that the first portion of the edit view's URL path is |
| | | going to resolve to the same resource as the non-edit version, specifically |
| | |
| | | |
| | | You might conceptualize a request for ``/joeschmoe/photos/photo1/edit`` as |
| | | ultimately converted into the following piece of Pythonic pseudocode:: |
| | | |
| | | |
| | | context = get_root()['joeschmoe']['photos']['photo1'] |
| | | view_callable = get_view(context, 'edit') |
| | | request.context = context |
| | | view_callable(request) |
| | | |
| | | The ``get_root`` and ``get_view`` functions don't really exist. Internally, |
| | | :app:`Pyramid` does something more complicated. But the example above is a |
| | | reasonable approximation of the view lookup algorithm in pseudocode. |
| | | :app:`Pyramid` does something more complicated. But the example above |
| | | is a reasonable approximation of the view lookup algorithm in pseudocode. |
| | | |
| | | Use Cases |
| | | --------- |
| | |
| | | construct matching patterns that could account for every possible combination |
| | | of paths that might develop? |
| | | |
| | | It's possible, but it will make for some somewhat ugly URLs. And the |
| | | matching patterns are going to become complex quickly as you try to handle |
| | | all of the edge cases. |
| | | It might be possible, but it certainly won't be easy. The matching |
| | | patterns are going to become complex quickly as you try to handle all |
| | | of the edge cases. |
| | | |
| | | With traversal, however, it's straightforward. If you want 20 layers of |
| | | nesting, it's no problem. :app:`Pyramid` will happily call ``__getitem__`` |
| | | With traversal, however, it's straightforward. 20 layers of nesting would be |
| | | no problem. :app:`Pyramid` will happily call ``__getitem__`` |
| | | as many times as it needs to, until it runs out of path segments or until a |
| | | resource raises a :exc:`KeyError`. Each resource only needs to know how to |
| | | fetch its immediate children, the traversal algorithm takes care of the rest. |
| | | |
| | | One of the key advantages of traversal is that the structure of the resource |
| | | tree can live in the database, and not in the code. It's simple to let users |
| | | modify the tree at runtime to set up their own personalized directory |
| | | structures. |
| | | Also, since the structure of the resource tree can live in the database and |
| | | not in the code, it's simple to let users modify the tree at runtime to set |
| | | up their own personalized "directory" structures. |
| | | |
| | | Another use case in which traversal shines is when there is a need to support |
| | | a context-dependent security policy. One example might be a document |
| | |
| | | <body> |
| | | <h1 class="title">Welcome to <code>${project}</code>, an |
| | | application generated by the <a |
| | | href="http://pylonshq.com/pyramid">pyramid</a> web |
| | | href="http://docs.pylonsproject.org/projects/pyramid/dev/">pyramid</a> web |
| | | application framework.</h1> |
| | | </body> |
| | | </html> |
| | |
| | | <body> |
| | | <h1 class="title">Welcome to <code>${project}</code>, an |
| | | application generated by the <a |
| | | href="http://pylonshq.com/pyramid">pyramid</a> web |
| | | href="http://docs.pylonsproject.org/projects/pyramid/dev/">pyramid</a> web |
| | | application framework.</h1> |
| | | </body> |
| | | </html> |
| | |
| | | rendering the template with ``home.mak``, and the url ``/hello/about`` will |
| | | call the same method and render the ``about.mak`` template. |
| | | |
| | | Handler ``__action_decorator__`` Attribute |
| | | ++++++++++++++++++++++++++++++++++++++++++ |
| | | |
| | | If a handler class has an ``__action_decorator__`` attribute, then the |
| | | value of the class attribute will be passed in as the ``decorator`` |
| | | argument every time a handler action is registered as a view callable. |
| | | This means that, like anything passed to ``add_view()`` as the |
| | | ``decorator`` argument, ``__action_decorator__`` must be a callable |
| | | accepting a single argument. This argument will itself be a callable |
| | | accepting ``(context, request)`` arguments, and |
| | | ``__action_decorator__`` must return a replacement callable with the |
| | | same call signature. |
| | | |
| | | Note that, since handler actions are registered as views against the |
| | | handler class and not a handler instance, any ``__action_decorator__`` |
| | | attribute must *not* be a regular instance method. Defining an |
| | | ``__action_decorator__`` instance method on a handler class will |
| | | result in a :exc:`ConfigurationError`. Instead, ``__action_decorator__`` |
| | | can be any other type of callable: a staticmethod, classmethod, function, |
| | | or some sort of callable instance. |
| | | |
| | | .. note:: |
| | | |
| | | In a Pylons 1.0 controller, it was possible to override the ``__call__()`` |
| | | method, which allowed a developer to "wrap" the entire action invocation, |
| | | with a try/except or any other arbitrary code. In :app:`Pyramid`, this |
| | | can be emulated with the use of an ``__action_decorator__`` classmethod |
| | | on your handler class. |
| | | |
| | | .. index:: |
| | | single: resource interfaces |
| | | |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org/">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('tutorial:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('tutorial:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | def unauthenticated_userid(request): |
| | | """ Return the *unauthenticated* userid. This method performs the |
| | | same duty as ``authenticated_userid`` but is permitted to return the |
| | | userid based only on data present in the request; it neednt (and |
| | | userid based only on data present in the request; it needn't (and |
| | | shouldn't) check any persistent store to ensure that the user record |
| | | related to the request userid exists.""" |
| | | |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | <meta name="description" content="pyramid web application" /> |
| | | <link rel="shortcut icon" href="${request.static_url('{{package}}:static/favicon.ico')}" /> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/pylons.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Nobile:regular,italic,bold,bolditalic&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Neuton|Nobile:regular,i,b,bi&subset=latin" type="text/css" media="screen" charset="utf-8" /> |
| | | <!--[if lte IE 6]> |
| | | <link rel="stylesheet" href="${request.static_url('{{package}}:static/ie6.css')}" type="text/css" media="screen" charset="utf-8" /> |
| | | <![endif]--> |
| | |
| | | <div class="bottom"> |
| | | <div id="left" class="align-right"> |
| | | <h2>Search documentation</h2> |
| | | <form method="get" action="http://docs.pylonshq.com/pyramid/dev/search.html"> |
| | | <form method="get" action="http://docs.pylonsproject.org/projects/pyramid/dev/search.html"> |
| | | <input type="text" id="q" name="q" value="" /> |
| | | <input type="submit" id="x" value="Go" /> |
| | | </form> |
| | |
| | | <h2>Pyramid links</h2> |
| | | <ul class="links"> |
| | | <li> |
| | | <a href="http://pylonshq.com">Pylons Website</a> |
| | | <a href="http://pylonsproject.org">Pylons Website</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#narrative-documentation">Narrative Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#api-documentation">API Documentation</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#api-documentation">API Documentation</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#tutorials">Tutorials</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#tutorials">Tutorials</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#change-history">Change History</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#change-history">Change History</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#sample-applications">Sample Applications</a> |
| | | </li> |
| | | <li> |
| | | <a href="http://docs.pylonshq.com/pyramid/dev/#support-and-development">Support and Development</a> |
| | | <a href="http://docs.pylonsproject.org/projects/pyramid/dev/#support-and-development">Support and Development</a> |
| | | </li> |
| | | <li> |
| | | <a href="irc://irc.freenode.net#pyramid">IRC Channel</a> |
| | |
| | | keywords='web wsgi pylons pyramid bfg', |
| | | author="Chris McDonough, Agendaless Consulting", |
| | | author_email="pylons-devel@googlegroups.com", |
| | | url="http://docs.pylonshq.com", |
| | | url="http://docs.pylonsproject.org", |
| | | license="BSD-derived (http://www.repoze.org/LICENSE.txt)", |
| | | packages=find_packages(), |
| | | include_package_data=True, |