Запуск скрипта python по нажатию кнопки html (Flask/Django)
У меня есть очень простой код на python, который извлекает цену акций некоторых компаний. Мне удалось включить его в Django/Flask, так что я могу видеть это на html-странице. Я хотел бы создать html-кнопку, при нажатии на которую запускается скрипт python, а цены акций обновляются (и остаются на той же html-странице, например, index.html), но у меня не получается. Не могли бы вы помочь с html-кодом для кнопки и фрагментом кода, который мне нужно добавить в приложение, чтобы это заработало?
Если вы написали класс или метод, то вы можете просто вызвать его, сохранить возвращаемое значение в переменной и передать его в html-файл с помощью jinja2.
будет что-то вроде:
return render_template("index.html", parameter1 = returned_value)
и в вашем html-файле:
<p>{{ parameter1 }}</p>
Посмотрите: https://hackersandslackers.com/flask-jinja-templates/
Единственный способ сделать то, что вы хотите, - это удаленный вызов сервера. Но вы ни в коем случае не можете обновлять список полностью на стороне клиента, особенно при использовании только Python.
Что вы должны сделать, если вы действительно хотите не перезагружать страницу, так это :
- client-side : сделайте запрос к серверу из функции Javascript, затем получите ответ и обновите свои цены на входящие данные .
- server-side : создайте новое представление, которое не будет рендерить шаблон и возвращать html ответ, а сериализует ваши данные и возвращает JSON ответ. .
Это все, что я могу вам сказать. Не ожидайте, что сообщество Stackoverflow даст вам готовый ответ, прежде чем вы приведете доказательство, которое вы попробовали сами.