Flask выполняется на сервере. Браузер посылает серверу запрос на страницу с Flask кодом. Сервер отдает эту страницу на исполнение интерпретатору Flask, интерпретатор генерирует HTML код, отдает серверу, а сервер посылает клиенту. Никакого Flask кода в браузер не попадает (это важно! Это значит, что увидеть исходный код Flask скрипта невозможно!). Единственный способ отправить что-то скрипту - это кликнуть по ссылке или нажать на кнопку в форме. Так, чтобы Flask обрабатывал какие-то действия пользователя в браузере - невозможно. Flask остался на сервере, ждать новых запросов с данными для обработки. Flask, но не скрипт! Скрипт, который выполнялся, отдавая пользователю страницу, завершил работу. Все данные, которые были в нем - пропали. Именно поэтому, если какая-то переменная нужна при последующих вызовах скрипта, ее надо этому скрипту передать снова.