/usr/share/doc/python-routes/html/introduction.html is in python-routes 2.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Introduction — Routes 1.13 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '1.13',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Routes 1.13 documentation" href="index.html" />
<link rel="next" title="Setting up routes" href="setting_up.html" />
<link rel="prev" title="Routes Documentation" href="index.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="setting_up.html" title="Setting up routes"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="index.html" title="Routes Documentation"
accesskey="P">previous</a> |</li>
<li><a href="index.html">Routes 1.13 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="introduction">
<h1>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">ΒΆ</a></h1>
<p>Routes tackles an interesting problem that comes up frequently in web
development, <em>how do you map URLs to your application’s actions</em>? That is, how
do you say that <em>this</em> should be accessed as “/blog/2008/01/08”, and “/login”
should do <em>that</em>? Many web frameworks have a fixed dispatching system; e.g.,
“/A/B/C” means to read file “C” in directory “B”, or to call method “C” of
class “B” in module “A.B”. These work fine until you need to refactor your code
and realize that moving a method changes its public URL and invalidates users’
bookmarks. Likewise, if you want to reorganize your URLs and make a section
into a subsection, you have to change your carefully-tested logic code.</p>
<p>Routes takes a different approach. You determine your URL hierarchy and and
actions separately, and then link them together in whichever ways you decide.
If you change your mind about a particular URL, just change one line in your
route map and never touch your action logic. You can even have multiple URLs
pointing to the same action; e.g., to support legacy bookmarks. Routes was
originally inspired by the dispatcher in Ruby on Rails but has since diverged.</p>
<p>Routes is the primary dispatching system in the Pylons web framework, and an
optional choice in CherryPy. It can be added to any
framework without much fuss, and used for an entire site or a URL subtree.
It can also forward subtrees to other dispatching systems, which is how
TurboGears 2 is implemented on top of Pylons.</p>
<p>Current features:</p>
<ul class="simple">
<li>Sophisticated route lookup and URL generation</li>
<li>Named routes</li>
<li>Redirect routes</li>
<li>Wildcard paths before and after static parts</li>
<li>Sub-domain support built-in</li>
<li>Conditional matching based on domain, cookies, HTTP method (RESTful), and more</li>
<li>Easily extensible utilizing custom condition functions and route generation
functions</li>
<li>Extensive unit tests</li>
</ul>
<p>Buzzword compliance: REST, DRY.</p>
<p>If you’re new to Routes or have not read the Routes 1.11 manual before, we
recommend reading the <a class="reference external" href="glossary.html">Glossary</a> before continuing.</p>
<p>This manual is written from the user’s perspective: how to use Routes in a
framework that already supports it. The <a class="reference external" href="porting.html">Porting</a>
manual describes how to add Routes support to a new framework.</p>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h4>Previous topic</h4>
<p class="topless"><a href="index.html"
title="previous chapter">Routes Documentation</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="setting_up.html"
title="next chapter">Setting up routes</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/introduction.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="setting_up.html" title="Setting up routes"
>next</a> |</li>
<li class="right" >
<a href="index.html" title="Routes Documentation"
>previous</a> |</li>
<li><a href="index.html">Routes 1.13 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2010-2012, Ben Bangert, Mike Orr.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>
|