## page was renamed from CherrPyTut/03 get and post.py ##language:zh {{{#!python # -*- coding: gbk -*- """ Tutorial 03 - Passing variables 本教程展示如何处理 GET/POST 变量在函式中 - 使用GBK 省了麻烦 - 注意编码时的缩进!一定要使用空格来代替缩进符号 - POST 方式可以隐藏参数的传送 - GET 方式在调试时好用! """ from cherrypy import cpg #from cherrypy.lib.filter import EncodingFilter # 尝试编码支持,不过没有很好的得到结果,忽略! class WelcomePage: #_cpFilterList = [EncodingFilter('utf8')] def index(self): # 输出询问用户姓名的表单 return ''' <form action="greetUser" method="POST"> What is your name? <input type="text" name="name" /> <input type="submit" /> </form> ''' # 嗯嗯!总是要的声明!可以作为调试时的开关? index.exposed = True def greetUser(self, name = None): """CherryPy 处理GET/POST变量为函式的参数,对于Python 没有什么限制,比如说长度什么的 - 当然我们可以自由的定义变量,只要和表单中的对象名一致就好! - 注意的是,若 某一表单项没有值返回,会默许的赋为 None ,这样一来我们可以将其作为条件来判定 """ if name: # 问候一下子 return "Hey %s, what's up? 怎么了?哈哈哈!" % name else: # 咦咦咦?没有输入 return 'Please enter your name <a href="./">here</a>.' greetUser.exposed = True cpg.root = WelcomePage() cpg.server.start(configFile = 'tutorial.conf') }}}