Python Flask-具有后端操作的用户输入和按钮,将文本返回给用户

Python Flask-具有后端操作的用户输入和按钮,将文本返回给用户,python,flask,Python,Flask,我正在进行小烧瓶测试,并尝试执行以下操作: 我有两张表格 第一个-接收用户输入,然后有一个提交按钮。当按下提交按钮时,我想1.)使用“doritos”和“oreos”中的两个值执行后端Python程序,然后2.)在同一页面、按钮旁边或某个文本窗口中向用户返回一些相关文本(即,成功) 问题-如何将从该表单收到的值传递回foo 问题-如何将文本值返回给用户 第二个基本按钮,用于调用Python程序,并将一些相关文本返回给用户(即,成功)。我想我也可以用上面的问题来回答这个问题 我继续在网上看到的文档

我正在进行小烧瓶测试,并尝试执行以下操作:

我有两张表格

第一个-接收用户输入,然后有一个提交按钮。当按下提交按钮时,我想1.)使用“doritos”和“oreos”中的两个值执行后端Python程序,然后2.)在同一页面、按钮旁边或某个文本窗口中向用户返回一些相关文本(即,成功)

问题-如何将从该表单收到的值传递回foo

问题-如何将文本值返回给用户

第二个基本按钮,用于调用Python程序,并将一些相关文本返回给用户(即,成功)。我想我也可以用上面的问题来回答这个问题

我继续在网上看到的文档使用app.route并将用户发送到另一个页面并显示结果。我想让用户保持在同一页上,只返回文本。如果这太模糊,你可以告诉我RTFM。只是很难弄明白

请参阅下面的代码:

index.html:

<form action="/foo" method="post">
CHIPS:<br>
<input type="text" name="doritos"><br>
SNACKS:<br>
<input type="text" name="oreos"><br>
<input type="submit" value="Submit">
</form>

<form action="/coo" method="post">
<input type="submit" name="pita" value="pita"><br>
<input type="submit" name="chip" value="chip"<br>
</form>
Flask有内置的(您已经以
render\u template
的形式使用了它),因此解决此问题的一个简单方法是使用表单创建模板,并在发布数据时向模板传递“success”或“fail”消息

考虑以下
index.html
模板片段:

<form action="/" method="post">
    CHIPS:<br />
    <input type="text" name="doritos"><br />
    SNACKS:<br />
    <input type="text" name="oreos"><br />
    <input type="submit" value="submit">
</form>
{% if fooResponse is not none %}
    {{ fooResponse }}
{% endif %}

<form action="/" method="post">
    <input type="submit" name="pita" value="pita"><br />
    <input type="submit" name="chip" value="chip"><br />
</form>
{% if cooResponse is not none %}
    {{ cooResponse }}
{% endif %}
Flask有内置的(您已经以
render\u template
的形式使用了它),因此解决此问题的一个简单方法是使用表单创建模板,并在发布数据时向模板传递“success”或“fail”消息

考虑以下
index.html
模板片段:

<form action="/" method="post">
    CHIPS:<br />
    <input type="text" name="doritos"><br />
    SNACKS:<br />
    <input type="text" name="oreos"><br />
    <input type="submit" value="submit">
</form>
{% if fooResponse is not none %}
    {{ fooResponse }}
{% endif %}

<form action="/" method="post">
    <input type="submit" name="pita" value="pita"><br />
    <input type="submit" name="chip" value="chip"><br />
</form>
{% if cooResponse is not none %}
    {{ cooResponse }}
{% endif %}

您可以将表单提交链接到javascript中的ajax调用。ajax函数将数据发送到api,python将执行所有计算并发送响应。ajax函数在前端接收该响应,并在前端显示所需的任何文本/数据

考虑以下情况:

    $.ajax({
        type: "POST",
        url: "/api/oreos-and-doritos",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify(data-from-form),
        success: function (data) {
            // do whatever changes are needed in the frontend,
            // like displaying a message
            $('#msg').text(data);
        },
        error: function (xhr, error, thrown) {
            // do some error handling here
        }
    }));

您可以将表单提交链接到javascript中的ajax调用。ajax函数将数据发送到api,python将执行所有计算并发送响应。ajax函数在前端接收该响应,并在前端显示所需的任何文本/数据

考虑以下情况:

    $.ajax({
        type: "POST",
        url: "/api/oreos-and-doritos",
        dataType: "json",
        contentType: "application/json",
        data: JSON.stringify(data-from-form),
        success: function (data) {
            // do whatever changes are needed in the frontend,
            // like displaying a message
            $('#msg').text(data);
        },
        error: function (xhr, error, thrown) {
            // do some error handling here
        }
    }));

除非我将
return render_template(“index.html”)
直接放在
def index():
之后,否则我无法加载index.html,并收到错误消息“浏览器(或代理)发送了此服务器无法理解的请求。”。但是,如果我将
return render_template(“index.html”)直接放在
def index()之后:`站点会出现,但是,当我单击按钮时,会出现错误消息“Method Not Allowed”。另外,上面的index.html创建了三个按钮(pita、chip、submit2)?我只是在找pita或chip来执行一些动作?您能否澄清“流程”功能的作用以及如何导入修改的内容<代码>过程
只是一个占位符,用于您想对发布的数据执行的任何操作。它应该返回
True
False
,然后可以用来返回“成功”/“失败”,除非我将
return render\u template(“index.html”)
直接放在
def index()之后:
我无法加载index.html,并且我收到了错误消息“浏览器(或代理)”发送了此服务器无法理解的请求。“。但是,如果我将
return render_template(“index.html”)直接放在
def index()之后:`站点会出现,但是,当我单击按钮时,会出现错误消息“Method Not Allowed”。另外,上面的index.html创建了三个按钮(pita、chip、submit2)?我只是在找pita或chip来执行一些动作?您能否澄清“流程”功能的作用以及如何导入修改的内容<代码>过程
只是一个占位符,用于您想对发布的数据执行的任何操作。它应返回
True
False
,然后可用于返回“成功”/“失败”