我正在使用龙卷风,这里是我的主要处理程序的代码 -
class MainHandler(tornado.web.RequestHandler):
def get(self):
self.render("homepage.html", messages=ChatSocketHandler.browser_cache)
#
# HTTP *POST* HANDLER
#
def post(self):
print "Post received"
post_body = self.get_argument("body")
self.set_header("Content-Type", "text/plain")
self.redirect("test.html")
test.html文件很简单 -
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
我把它放在与python服务器文件相同的文件夹中,也放在templates目录中。然而,当调用后处理程序时,页面不会重定向到此文件,而是给我一个404.
[W 151101 22:35:44 web:1825] 404 GET /test.html (::1) 1.00ms
我错过了什么?
答案 0 :(得分:1)
将html文件放在与python文件相同的目录中并不会在Tornado中执行任何操作:您必须告诉python服务器提供此文件。通常,对于模板目录中的每个顶级文件,您应该创建一个为该模板调用self.render()
的处理程序,并在应用程序定义中为该文件创建一个路径。
如果您不想在此文件中使用任何模板功能,可以将其放在static_path
而不是template_path
中,然后将其自动提供为/static/index.html
。但听起来你可能希望这个文件发展成为一个功能更全面的处理程序。