Changeset 2915
- Timestamp:
- 02/20/07 17:42:42 (2 years ago)
- Files:
-
- sandbox/mscott/SchevoPylonsNav/trunk (modified) (1 prop)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/config/routing.py (modified) (1 diff)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/controllers/databases.py (added)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/lib/base.py (modified) (1 diff)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/public/index.html (modified) (1 diff)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/schema/schema_001.py (modified) (1 diff)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/templates/databases (added)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/templates/databases/__init__.py (added)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/templates/databases/index.html (added)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/templates/master.html (added)
- sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/tests/functional/test_databases.py (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/mscott/SchevoPylonsNav/trunk
- Property svn:ignore changed from
*.db
build
dist
to
*.db
build
dist
data
- Property svn:ignore changed from
sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/config/routing.py
r2905 r2915 18 18 # so they may take precedent over the more generic routes. For more information, refer 19 19 # to the routes manual @ http://routes.groovie.org/docs/ 20 21 map.resource('database', 'databases') 22 20 23 map.connect(':controller/:action/:id') 21 24 map.connect('*url', controller='template', action='view') sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/lib/base.py
r2905 r2915 20 20 c.w = WidgetBunch() 21 21 # Get Schevo database. 22 db = self.db = environ['schevo.db.db']22 self.dbs = environ['schevo.db'] 23 23 return WSGIController.__call__(self, environ, start_response) 24 24 sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/public/index.html
r2905 r2915 2 2 "http://www.w3.org/TR/html4/loose.dtd"> 3 3 <html> 4 <head> 5 <title>Pylons Default Page</title> 6 <style> 7 body { background-color: #fff; color: #333; } 8 9 body, p { 10 font-family: verdana, arial, helvetica, sans-serif; 11 font-size: 12px; 12 line-height: 18px; 13 } 14 pre { 15 background-color: #eee; 16 padding: 10px; 17 font-size: 11px; 18 line-height: 13px; 19 } 20 21 a { color: #000; } 22 a:visited { color: #666; } 23 a:hover { color: #fff; background-color:#000; } 24 </style> 25 </head> 4 <head> 5 <title>Schevo Database Navigator</title> 6 </head> 26 7 <body> 27 8 28 <h1>Welcome to your Pylons Web Application</h1>9 <h1>Welcome to the Schevo Database navigator.</h1> 29 10 30 <h2>Weren't expecting to see this page?</h2> 11 <p> 12 Start by browsing the <a href="databases/">available databases</a>. 13 </p> 31 14 32 <p>The <tt>schevopylonsnav/public/</tt> directory is searched for static files33 <i>before</i> your controllers are run. Remove this file (<tt>schevopylonsnav/public/index.html</tt>)34 and edit the routes in <tt>schevopylonsnav/config/routing.py</tt> to point the35 <a href="/">root path</a> to a 'hello' controller we'll create below:36 <pre> map.connect('', controller='hello', action='index')</pre>37 </p>38 39 <h2>Getting Started</h2>40 <p>You're now ready to start creating your own web application. To create a 'hello' controller,41 run the following command in your project's root directory:42 <pre>43 SchevoPylonsNav$ paster controller hello44 </pre>45 46 This generates the following the following code in <tt>schevopylonsnav/controllers/hello.py</tt>:47 <pre>48 from schevopylonsnav.lib.base import *49 50 class HelloController(BaseController):51 def index(self):52 # Return a rendered template53 # return render_response('/some/template.html')54 # or, Return a response object55 return Response('Hello World')56 </pre>57 </p>58 <p>This controller simply prints out 'Hello World' to the browser. Pylons' default routes59 automatically set up this controller to respond at the <a href="/hello">/hello</a> URL.60 With the additional route described above, this controller will also respond at the61 <a href="/">root path</a>.62 </p>63 64 <h3>Using a template</h3>65 <p>To call a template and do something a little more complex, this following example66 shows how to print out some request information from a Myghty template.67 </p>68 <p>Create a <tt>serverinfo.myt</tt> file in your project's <tt>schevopylonsnav/templates/</tt>69 directory with the following contents:70 </p>71 <pre>72 <h2>73 Server info for <% request.host %>74 </h2>75 76 <p>77 The URL you called: <% h.url_for() %>78 </p>79 80 <p>81 The name you set: <% c.name %>82 </p>83 84 <p>The server environment:<br />85 <pre><% c.pretty_environ %></pre>86 </p>87 </pre>88 89 Then add the following to your 'hello' controller class:90 <pre>91 def serverinfo(self):92 import cgi93 import pprint94 c.pretty_environ = cgi.escape(pprint.pformat(request.environ))95 c.name = 'The Black Knight'96 return render_response('/serverinfo.myt')97 </pre>98 99 You can now view the page at: <tt><a href="/hello/serverinfo">/hello/serverinfo</a></tt>100 </p>101 15 </body> 102 16 </html> sandbox/mscott/SchevoPylonsNav/trunk/schevopylonsnav/schema/schema_001.py
r2905 r2915 16 16 ## 17 17 ## _key(name) 18 19 20 class Foo(E.Entity): 21 22 bar = f.unicode()
