4

我对 Python 社区真的很陌生,有一段时间我一直在尝试学习 Flask 和 Tornado 框架。

如你所知,我们可以很容易地在 Flask 中同时处理 GET 和 POST 请求,例如 Flask 中的简单 URL 路由是这样的:

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

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

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

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

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

知道如何在 Tornado 中做到这一点吗?

4

3 回答 3

9

您可以使用prepare()方法:

在 get/post/etc 之前的请求开始时调用。覆盖此方法以执行通用初始化,而不管请求方法如何。

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

希望有帮助。

于 2013-08-21T06:17:12.590 回答
2

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

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

    def post(self):
        self.render('intro.html')
于 2013-08-21T06:13:54.407 回答
1

试试这个:

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

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

如果不添加评论,它应该可以工作:)

你也可以阅读一些龙卷风教程

于 2013-08-21T06:14:54.343 回答