当前位置: 首页 > 面试题库 >

Flask-在按钮OnClick事件上调用python函数

羊舌自强
2023-03-14
问题内容

我是python和Flask的新手。我有一个带按钮的Flask Web App。当我单击按钮时,我想执行python方法而不是Javascript方法。我怎样才能做到这一点?

我看过python的示例,它使用这样的表单标签将我重定向到新页面

<form action="/newPage" method="post">

但我不希望它将我重定向到新页面。我只希望它执行python方法。 我正在为Raspberry Pi机器人汽车制作这个。当我按下前进按钮时,我希望它运行“向前转动车轮”方法。

按钮HTML代码(index.html)

<button name="forwardBtn" onclick="move_forward()">Forward</button>

简单的app.py代码-位于此处的move_forward()方法

#### App.py code

from flask import Flask, render_template, Response, request, redirect, url_for
app = Flask(__name__)

@app.route("/")
def index():
    return render_template('index.html');

def move_forward():
    #Moving forward code
    print("Moving Forward...")

我在Stackoverflow上看到过类似的问题,但是它们似乎无法回答我的问题,或者我无法理解答案。如果有人可以为我提供一种在按钮单击事件上调用Python方法的简单方法,将不胜感激。


问题答案:

你可以简单地在AJAX的帮助下完成此操作…这是一个示例,该示例调用python函数,该函数在不重定向或刷新页面的情况下打印问候。

在app.py中,将其放在代码段下方。

#rendering the HTML page which has the button
@app.route('/json')
def json():
    return render_template('json.html')

#background process happening without any refreshing
@app.route('/background_process_test')
def background_process_test():
    print ("Hello")
    return ("nothing")

并且你的json.html页面应如下所示。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type=text/javascript>
        $(function() {
          $('a#test').bind('click', function() {
            $.getJSON('/background_process_test',
                function(data) {
              //do nothing
            });
            return false;
          });
        });
</script>


//button
<div class='container'>
    <h3>Test</h3>
        <form>
            <a href=# id=test><button class='btn btn-default'>Test</button></a>
        </form>

</div>

在这里,当你按下控制台中的“测试简单”按钮时,你可以看到“ Hello”正在显示,而没有任何刷新。



 类似资料:
  • 问题内容: 按下烧瓶模板中的按钮后,我希望它调用在app.py中定义的python函数,通过在下面定义函数的地方键入以下内容,可以在模板中调用该函数: app.py中的示例函数: 模板: 在我的按钮中,我具有onclick属性,只是为了测试使用像javascript这样的按钮是否正确按下: 我面临的问题是我需要模板中提供的功能以对应正确的按钮。例如,如果按钮显示启用,那么我需要调用已经定义的启用功

  • 问题内容: 我试图在页面上创建两个按钮。我想在服务器上执行每个不同的python脚本。到目前为止,我仅设法使用 我需要根据按下的按钮进行哪些更改? 问题答案: 为两个按钮指定相同的名称和不同的值: 然后,在Flask视图函数中,您可以知道使用了哪个按钮来提交表单:

  • 问题内容: 我有这个功能,当我点击标签时,我想调用两个功能,一个来自父组件的props的处理程序功能,还有这个功能 如何调用这两个函数?这是父组件的处理函数 问题答案: 这样写: 或创建一个函数,将其用作单击处理程序。在该函数内部调用其他两个函数,如下所示: 请参阅使用箭头功能的两种方法: 1-简洁的机身: 2块体 在内部的程序块主体(函数的主体)中,我们可以执行任意数量的任务。 像这样:

  • 我正在使用JSF 2.0创建页面: 我期待在单击复选框时被调用。但是,加载页面时调用一次setMyCheckboxValue()。 如果我写 每次点击都会收到警报。 我的问题是:当我收到警报时,为什么每次onclick事件都不调用? 注意:我也尝试过AJAX,但复选框保持不变。

  • 问题内容: 有什么方法可以使用html属性调用多个JavaScript函数吗? 问题答案: onclick=”doSomething();doSomethingElse();” 但实际上,最好不要使用Java,而是通过Javascript代码将事件处理程序附加到DOM节点。这被称为不引人注目的javascript。

  • 按钮事件 1、有注册错误/正确提示 bp MessageBoxA bp rtcMsgBox 如果事先找不到按钮事件,可以通过下消息断点,返回后回溯即可找到按钮事件起始位置 2、无任何提示 bp GetDlgItem 可以通过bp GetDlgItem获取按钮事件代码 3、未注册一启动或者关闭就跳出个注册框或者提示框 bp RegOpenKey(A) bp CreateFileA bp GetPri