第一种情况:
由tornado创建的HelloWorld程序
1 # 导入模块
2 from abc import ABC
3 import tornado.ioloop
4 import tornado.web
5 # 创建视图类
6 class HelloWordHandler(tornado.web.RequestHandler, ABC):
7 def get(self):
8 self.write('hello world')
9 # 创建路由
10 app00 = tornado.web.Application([
11 (r'/hello/', HelloWordHandler)]
12 )
13 if __name__ == '__main__':
14 # 设置端口
15 app00.listen(8888)
16 # 启动项目
17 tornado.ioloop.IOLoop.current().start()
程序运行后,在浏览器中输入:127.0.0.1:8888/hello/,屏幕显示字符串:hello world。从表面上看,这程序没问题,但11行却提示HelloWordHandler未定义,解决办法:把第10行的app00移到行首。
第二种情况:
1 # 导入模块
2 from abc import ABC
3 import tornado.ioloop
4 import tornado.web
5 # 创建视图类
6 class HelloWordHandler(tornado.web.RequestHandler, ABC):
7 def get(self):
8 self.write('hello world')
9 if __name__ == '__main__':
10 # 创建路由
11 app00 = tornado.web.Application([
12 (r'/hello/', HelloWordHandler)]
13 )
14 # 设置端口
15 app00.listen(8888)
16 # 启动项目
17 tornado.ioloop.IOLoop.current().start()
上面的代码运行后,没有错误,但在访问时出现如下错误:WARNING:tornado.access:404 GET /favicon.ico (127.0.0.1) 1.00ms,原因是路由没有找到,定义位置错了,改回第一种的写法,从main中拿出来,就OK了。