Flask + flask_wtf кнопка отправки вызова скрипта Python без переключения страниц - PullRequest
1 голос
/ 01 ноября 2019

Построение ответа от https://stackoverflow.com/a/49335121/3950745. Я знакомлюсь с колбой. Тем не менее, у меня есть проблема, где мне нужно запустить скрипт Python на основе определенных полей ввода.

У меня есть этот класс

class FooBar(FlaskForm):
    foo = StringField('Name1', validators=[DataRequired()])
    bar = StringField('Name2', validators=[DataRequired()])

Который я вызываю через route.py

@app.route('/compute', methods=['GET', 'POST'])
def compute():
    form = FooBar()
    return render_template('compute.html', title='FooBar', form=form)

Файл HTML выглядит следующим образом

{% extends "base.html" %}
{% block content %}
    <form action="" method="post" novalidate>
        {{ form.hidden_tag() }}

        <div id="homeTeam">
            <p>
            {{ form.foo.label }}<br>
            {{ form.foo(size=32) }}<br>
            </p>
        </div>
        <div id="awayTeam" >
            <p>
            {{ form.bar.label }}<br>
            {{ form.bar(size=32) }}<br>
            </p>
        </div>

        <script type=text/javascript>
                $(function() {
                  $('a#test').bind('click', function() {
                    $.getJSON('/background_process_test',
                        function(data) {
                      //do nothing
                    });
                return false;
              });
            });
        </script>


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

Что является просто комбинацией связанного ответа и 2 пустых текстовых полей.

В идеале я хочу вызвать функцию, подобную

@app.route('/background_process_test')
def background_process_test(name1, name2):
    return name1+name2

, которая возвращает объединенные имена. Как мне ввести информацию в функцию?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...