Size: 1782
Comment:
|
← Revision 3 as of 2009-12-25 07:12:56 ⇥
Size: 1782
Comment: converted to 1.6 markup
|
No differences found! |
1 # -*- coding: gbk -*-
2 """
3 Tutorial 03 - Passing variables
4
5 本教程展示如何处理 GET/POST 变量在函式中
6 - 使用GBK 省了麻烦
7 - 注意编码时的缩进!一定要使用空格来代替缩进符号
8 - POST 方式可以隐藏参数的传送
9 - GET 方式在调试时好用!
10
11 """
12 from cherrypy import cpg
13 #from cherrypy.lib.filter import EncodingFilter
14 # 尝试编码支持,不过没有很好的得到结果,忽略!
15 class WelcomePage:
16 #_cpFilterList = [EncodingFilter('utf8')]
17 def index(self):
18 # 输出询问用户姓名的表单
19 return '''
20 <form action="greetUser" method="POST">
21 What is your name?
22 <input type="text" name="name" />
23 <input type="submit" />
24 </form>
25 '''
26 # 嗯嗯!总是要的声明!可以作为调试时的开关?
27 index.exposed = True
28
29 def greetUser(self, name = None):
30 """CherryPy 处理GET/POST变量为函式的参数,对于Python 没有什么限制,比如说长度什么的
31 - 当然我们可以自由的定义变量,只要和表单中的对象名一致就好!
32 - 注意的是,若 某一表单项没有值返回,会默许的赋为 None ,这样一来我们可以将其作为条件来判定
33 """
34 if name:
35 # 问候一下子
36 return "Hey %s, what's up? 怎么了?哈哈哈!" % name
37 else:
38 # 咦咦咦?没有输入
39 return 'Please enter your name <a href="./">here</a>.'
40
41 greetUser.exposed = True
42
43
44 cpg.root = WelcomePage()
45 cpg.server.start(configFile = 'tutorial.conf')