在教自己如何使用python的龙卷风web框架的过程中,我正在尝试创建一个简单的Web服务器和一些网页。在其中一个网页上,我有两个按钮:一个用于登出用户并将其重定向回登录页面,另一个用于提交博客帖子。它们都是“发布”请求,并且将html中的名称值设置为“logout”和“new_post”。
我的问题是,如何判断按下了哪个按钮,以便页面的RequestHandler的post()方法可以在每种情况下执行正确的操作?有没有办法获取按下按钮的“名称”?
答案 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形式和区分能力。编码愉快!