python - 龙卷风不会重定向到新的虚拟页面

时间:2015-11-02 07:46:04

标签: python redirect tornado

我正在使用龙卷风,这里是我的主要处理程序的代码 -

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

我错过了什么?

1 个答案:

答案 0 :(得分:1)

将html文件放在与python文件相同的目录中并不会在Tornado中执行任何操作:您必须告诉python服务器提供此文件。通常,对于模板目录中的每个顶级文件,您应该创建一个为该模板调用self.render()的处理程序,并在应用程序定义中为该文件创建一个路径。

如果您不想在此文件中使用任何模板功能,可以将其放在static_path而不是template_path中,然后将其自动提供为/static/index.html 。但听起来你可能希望这个文件发展成为一个功能更全面的处理程序。