如何在TornadoWeb框架中处理GET和POST请求?

时间:2013-08-21 06:06:10

标签: python flask tornado

我对Python社区很陌生,我尝试学习Flask和Tornado框架已经有一段时间了。

如您所知,我们可以非常轻松地在Flask中处理GET和POST请求, 例如,Flask中的简单URL路由是这样的:

@app.route('/index', methods=['GET', 'POST'])
def index():
    pass

我用Google搜索并阅读了Tornado文档,但我找不到在Tornado中同时处理GET和POST请求的方法。

我发现的就像下面的代码:

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.render('intro.html')

    def post(self):
        self.render('intro.html')

知道如何在龙卷风中做到这一点吗?

3 个答案:

答案 0 :(得分:8)

您可以使用prepare()方法:

  

在get / post / etc之前调用请求的开头。   无论如何,重写此方法以执行常见初始化   请求方法。

class MainHandler(tornado.web.RequestHandler):
    def prepare(self):
        self.render('intro.html')

希望有所帮助。

答案 1 :(得分:2)

好的。如果你想一起处理它们,试试这个

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.post()

    def post(self):
        self.render('intro.html')

答案 2 :(得分:1)

尝试这个:

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.post()

    def post(self):
        self.render('intro.html')

如果它没有添加注释,它应该可以工作:)

您也可以阅读一些tornado tutorial