tornado 查询字符串
这段代码是一个简单的Tornado web应用程序,以下是代码的详细解释:
- 导入所需的模块:
import tornado.ioloop
import tornado.web
这里导入了Tornado框架中的两个主要模块:ioloop
和web
。ioloop
是用于处理I/O循环的,而web
提供了构建web应用程序所需的功能。
2. 定义主处理器类:
class MainHandler(tornado.web.RequestHandler):
def get(self):
subject = self.get_query_argument('subject','tornado')
print(subject)
self.finish(subject)
这是一个继承自RequestHandler
的类,专门处理HTTP GET请求。当收到GET请求时,它会执行以下操作:
- 使用
get_query_argument
方法从查询字符串中获取名为'subject'的参数的值。如果该参数不存在,则返回默认值'tornado'。 - 打印这个值。
- 使用
finish
方法结束请求-响应周期,并返回该值。
- 创建应用程序:
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
])
这是一个函数,它创建并返回一个Tornado web应用程序。该应用程序有一个URL模式r"/"
,当用户访问这个URL时,会触发上面定义的MainHandler
类。
4. 主程序:
if __name__ == "__main__":
app = make_app()
app.listen(8881)
tornado.ioloop.IOLoop.current().start()
这是整个脚本的入口点。当这个脚本被直接运行时(而不是被导入为模块时),以下操作会被执行:
- 调用
make_app()
函数来创建一个Tornado应用程序。 - 指定应用程序应该在8881端口上监听。
- 启动I/O循环,开始处理事件,如接收到的请求等。
简而言之,这是一个简单的Tornado web应用程序,当用户访问主页时,它会从查询字符串中获取'subject'参数的值并返回它。如果查询字符串中没有'subject'参数,它会返回默认值'tornado'。