@Atroshchenko-Dima
Python, postgres

Как передать переменную из html в sql запрос python?

Добрый день!
Есть выгрузка из БД на web интерфейс API запросом.
Пользователь должен вбить начальную и конечную дату, а выгрузка таблицы произойти в соответствии с этими датами.

Подскажите, пожалуйста, как можно это реализовать. Мои попытки приведены ниже.

часть файла index.html

<p>Введите дату в формате YYYY-MM-DD</p>
<p>
    <form action="app.py" method="post">
      Начальная дата: <input type="text" name="start_date">
      Конечная дата:  <input type="text" name="last_date"/>
      <input type="submit" value="Выполнить" />
    </form>
</p>


часть файла app.py

conn = psycopg2.connect(**params)


@app.route("/")
def index():
    cur = conn.cursor()
    cur.execute("SELECT * FROM toplivo WHERE date BETWEEN 'start_Date' and 'last_date';")
    rows = cur.fetchall()
    cur.close
    return render_template("index.html", rows=rows)

if __name__ == "__main__":
    app.run()
  • Вопрос задан
  • 181 просмотр
Решения вопроса 2
ipatiev
@ipatiev
Потомок старинного рода Ипатьевых-Колотитьевых
Вам надо на время оставить программирование и изучить две гораздо более важные вещи:
Во-первых, надо научиться структурно мыслить. В частности, разобраться, что ваш вопрос состоит из двух совершенно разных, никак не связанных между собой частей:
1. как в Flask получить данные формы
2. как передать переменные в sql запрос

А во-вторых, научиться пользоваться интернетом. Потому что ответов на оба эти вопроса, в том числе и на данном сайте, просто миллионы.
На первый (ссылка из ответа на qna.hab.com): https://flask.palletsprojects.com/en/1.1.x/quickst...
На второй: https://qna.habr.com/q/1002781
Ответ написан
Комментировать
Сначала вам нужно получить данные с формы. Ознакомиться с POST-запросами можете здесь:
https://pythonbasics.org/flask-http-methods/
Потом, вам нужно эти данные передать в SQL-запрос. Здесь тоже всё описано на примере:
https://pythonbasics.org/flask-sqlite/
Ну и в целом вам будут полезны эти ресурсы:
https://pythonbasics.org/
https://docs.python.org/
https://pydocs.ru/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы