安裝:
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人