1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" |
---|
2 | "http://www.w3.org/TR/html4/loose.dtd"> |
---|
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> |
---|
26 | <body> |
---|
27 | |
---|
28 | <h1>Welcome to your Pylons Web Application</h1> |
---|
29 | |
---|
30 | <h2>Weren't expecting to see this page?</h2> |
---|
31 | |
---|
32 | <p>The <tt>ows_server/public/</tt> directory is searched for static files |
---|
33 | <i>before</i> your controllers are run. Remove this file (<tt>ows_server/public/index.html</tt>) |
---|
34 | and edit the routes in <tt>ows_server/config/routing.py</tt> to point the |
---|
35 | <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 | ows_server$ paster controller hello |
---|
44 | </pre> |
---|
45 | |
---|
46 | This generates the following the following code in <tt>ows_server/controllers/hello.py</tt>: |
---|
47 | <pre> |
---|
48 | from ows_server.lib.base import * |
---|
49 | |
---|
50 | class HelloController(BaseController): |
---|
51 | def index(self): |
---|
52 | # Return a rendered template |
---|
53 | # return render_response('/some/template.html') |
---|
54 | # or, Return a response object |
---|
55 | return Response('Hello World') |
---|
56 | </pre> |
---|
57 | </p> |
---|
58 | <p>This controller simply prints out 'Hello World' to the browser. Pylons' default routes |
---|
59 | 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 the |
---|
61 | <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 example |
---|
66 | 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>ows_server/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 cgi |
---|
93 | import pprint |
---|
94 | 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 | </body> |
---|
102 | </html> |
---|