安装:
1. 下载安装工具ez_setup.py
2. 命令行运行:python ez_setup.py Pylons
    耐心等待,安装结束。
3. 设置环境变量
    系统变量->path->;C:\Python24\Scripts
4. 命令行运行:paster
    产生下面类似结果,则说明安装成功。
运行结果

 开始动手:
1. 建立一个Pylons工程
    命令行运行:
    F:\python\lab\Pylons>paster create --template=pylons helloworld
    产生下面类似结果:
运行结果

2. 运行这个新建的工程
    1. 命令行运行:
        cd helloworld
        paster serve --reload development.ini
    2. 访问http://127.0.0.1:5000/ ,你将看到欢迎页面。
    3. 在helloworld/public目录下创建一个test.html的文件,内容如下:
<html>
    
<body>
        Hello World!
    
</body>
</html>

     4. 访问http://127.0.0.1:5000/test.html,你将看到“HelloWorld!”。

3. 禁用调试功能
    将development.ini文件中的:
    #set debug = false
    改成:
    set debug = false

4. 创建一个控制器、修改Routes
    1. 命令行运行:F:\python\lab\Pylons\helloworld>paster controller hello
    2. 修改helloworld/controllers/hello.py,代码如下:

1from helloworld.lib.base import *
2
3class HelloController(BaseController):
4    def index(self):
5        return Response('hello world')

    3. 修改helloworld/config/routing.py,代码如下:

 1"""
 2Setup your Routes options here
 3"""
 4import sys, os
 5from routes import Mapper
 6
 7def make_map(global_conf={}, app_conf={}):
 8    root_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 9
10    map = Mapper(directory=os.path.join(root_path, 'controllers'))
11    
12    # This route handles displaying the error page and graphics used in the 404/500
13    # error pages. It should likely stay at the top to ensure that the error page is
14    # displayed properly.
15    map.connect('error/:action/:id', controller='error')
16    
17    # Define your routes. The more specific and detailed routes should be defined first,
18    # so they may take precedent over the more generic routes. For more information, refer
19    # to the routes manual @ http://routes.groovie.org/docs/
20    map.connect('', controller='hello', action='index')
21    map.connect(':controller/:action/:id')
22    map.connect('*url', controller='template', action='view')
23
24    return map

    4. 删除public/index.html。访问http://127.0.0.1:5000/hellohttp://127.0.0.1:5000/,你将看到“hello world”。

5.模版和请求周期
  1.创建模版文件:helloworld/templates/serverinfo.myt,代码如下:
<p>Hi, here's the server environment: <br />
<% str(request.environ) %></p>

<p>
and here's the URL you called: 
<% h.url_for() %>
</p>
    2. 修改helloworld/controllers/hello.py,代码如下:
from helloworld.lib.base import *

class HelloController(BaseController):
    
def index(self):
        
return Response('hello world')
    
def serverinfo(self):
        
return render_response('/serverinfo.myt'

  3.访问http://127.0.0.1:5000/hello/serverinfo,你将看到下面类似结果:
运行结果

6. 使用Sessions
    代码片段:
1def serverinfo(self):
2    session['name'= 'George'
3    session.save()
4    return render_response('/serverinfo.myt')

7. 控制器变量和模版全局变量
    控制器变量
    1. 修改helloworld/controllers/hello.py,代码如下:
from helloworld.lib.base import *

class HelloController(BaseController):
    
def index(self):
        
return Response('hello world')
    
def serverinfo(self):
        c.value 
= 2
        
return render_response('/serverinfo.myt')    
    2. 修改helloworld/templates/serverinfo.myt,代码如下:
<p>The value of <tt>c.value</tt> is:
<% c.value %>

    3. 访问http://127.0.0.1:5000/hello/serverinfo,你将看到“The value of c.value is: 2”。
 
 模版全局变量
 1.修改lib/app_globals.py,代码如下:
 1class Globals(object):
 2
 3    def __init__(self, defaults, app, **extra):
 4        self.message = 'Hello'    
 5        
 6    def __del__(self):
 7        """
 8        Put any cleanup code to be run when the application finally exits 
 9        here.
10        """
11        pass

 2.修改helloworld/controllers/hello.py,代码如下:

from helloworld.lib.base import *

class HelloController(BaseController):
    
def index(self):
        
return Response('hello world')
    
def serverinfo(self):
        c.value 
= 2
        
return render_response('/serverinfo.myt')    
    
def app_globals_test(self):
        resp 
= Response()
        
if g.message == 'Hello':
            resp.write(g.message)
            g.message 
= 'Hello World!'
        
else:
            resp.write(g.message)
        
return resp

 3.访问http://127.0.0.1:5000/hello/app_globals_test/,你将看到“Hello World!”


参考资料:http://pylonshq.com/docs/0.9.3/getting_started.html



欢迎大家访问我的个人网站 萌萌的IT人