Как выполнить функцию, только если одна часть пользовательского интерфейса получает ввод? - PullRequest
0 голосов
/ 13 февраля 2020

Пока у меня есть это

app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def first():
    if request.method == 'GET':
        return render_template('index.html')
    if request.method == 'POST':
        body = request.get_json()

        text1 = body['text1 ']
        text2 = body['text2']
        someFunction(text1)
        otherFunction(text2)

Но что, если я хочу выполнять функцию только в том случае, если определенная часть пользовательского интерфейса получает ввод? Скажите, что только когда пользователь помещает что-то в поле text2, выполняется otherFunction. До сих пор каждый раз, когда я POST, оба выполняются.

Значит, я ищу что-то вроде?

app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def first():
    if request.method == 'GET':
        return render_template('index.html')
    if request.method == 'POST':
        body = request.get_json()

        if request.method.box1:
            text1 = body['text1']
            someFunction(text1)
       if request.method.box1:
            text2 = body['text2']
            otherFunction(text2)

1 Ответ

1 голос
/ 13 февраля 2020

вы почти правы, но request.method не будет иметь атрибута box1.

Так что это будет правильно:

app = Flask(__name__)
@app.route('/', methods=['GET', 'POST'])
def first():
    if request.method == 'GET':
        return render_template('index.html')
    if request.method == 'POST':
        body = request.get_json()

        <b>if body.get('text1'):</b>
            someFunction(body['text1'])
        <b>if body.get('text2'):</b>
            otherFunction(body['text2'])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...