【发布时间】:2018-12-13 12:17:02
【问题描述】:
我正在尝试使用 python 构建一个龙卷风应用程序。我已经能够构建一个基本的路由系统:
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Default endpoint.")
class CountHandler(tornado.web.RequestHandler):
def get(self):
self.write("Count endpoint.")
if __name__ == "__main__":
application = tornado.web.Application([
(r"/", MainHandler),
(r"/count", CountHandler),
])
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
我想要实现的是导入那些处理程序类(从特定的handlers 文件夹),而不是在这个文件中定义它们(它们可能会变得更大)。为此,我已将我的 CountHandler 类提取到它自己的单独文件中,并且我正在将其导入:
from handlers import CountHandler
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.write("Default endpoint.")
if __name__ == "__main__":
application = tornado.web.Application([
(r"/", MainHandler),
(r"/count", CountHandler),
])
application.listen(8888)
tornado.ioloop.IOLoop.instance().start()
CountHandler 类没有改变一点,但现在我的/count 端点上得到了 404。我做错了吗?
【问题讨论】:
-
它应该可以工作。问题一定出在其他地方。您的
handlers文件夹是否有一个名为__init__.py的文件?