如何辨别龙卷风中的纽扣压力机?

时间:2015-12-02 15:48:59

标签: python button tornado

在教自己如何使用python的龙卷风web框架的过程中,我正在尝试创建一个简单的Web服务器和一些网页。在其中一个网页上,我有两个按钮:一个用于登出用户并将其重定向回登录页面,另一个用于提交博客帖子。它们都是“发布”请求,并且将html中的名称值设置为“logout”和“new_post”。

我的问题是,如何判断按下了哪个按钮,以便页面的RequestHandler的post()方法可以在每种情况下执行正确的操作?有没有办法获取按下按钮的“名称”?

2 个答案:

答案 0 :(得分:1)

当您通过单击按钮提交表单时,会将一个带有所单击按钮名称的参数添加到请求中。

您可以检查参数是否存在然后执行操作。

def post(self):

    if self.get_argument("logout", None) != None:
        # do logout stuff

    if self.get_argument("new_post", None) != None:
        # do submit a blog post stuff

答案 1 :(得分:0)

在使用Tornado的Python3上,设置看起来带有两个提交按钮(与上述答案非常相似)如下。

首先,HTML并注意两个按钮的相似之处在于显示值不同。 name 参数是将传递给Tornado的POST处理程序的参数:


PyAudio provides Python bindings for PortAudio, the cross-platform audio I/O library. With PyAudio, you can easily use Python to play and record audio on a variety of platforms.

接下来是POST处理程序。使用get_argument,可以指定名称,如果输入不为null,则选择它。记住要在get_argument中包含“ ,无”,这样,如果不选择该选项,则默认为无:

<p><input type="submit" class="button" name="basic" value="Basic Query"></p>
<p><input type="submit" class="button" name="advanced" value="Advanced Query"></p>

就是这样! 2形式和区分能力。编码愉快!