Передайте значение переменной от HTML до python - PullRequest
0 голосов
/ 16 января 2020

Я использую python3, и у меня есть это HTMl, которое создает кнопки, которые он получает из списка python:

</style>
</head>
<body>
<ul>
{% for thing in value %}
<form method="get" action="/loader" value="submit">
  <button class="button button">{{ thing }}</button>
</form>
{% endfor %}
</ul>
</body>
</html>

мой python код:

@app.route("/test", methods=["GET"])
def test():
    a = ["a1","a2"]
    return render_template('sbutton.html', value=a)

@app.route("/loader", methods=["GET"])
def loader():
    data = request.args.get()
    print(data)
    return render_template('loader.html', value=password)

Так что я увижу кнопки a1 и a2 на веб-сайте http://localhost/test И когда я нажму одну из них, я перенаправлю на /loader, который является маршрутом в моем коде python, на другой html.

Я хочу, чтобы при нажатии кнопки, например a1, я получал эту информацию обратно в python внутри функции loader.

я попробовал <form method="get" action="/loader" value="submit"> Добавил value="submit, но я ничего не получил под print(data)

Мне просто нужно знать, на какую кнопку нажимал клиент, когда он перенаправлялся на /loader в мой код Я хочу сохранить это значение как переменную в моем python.

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 января 2020

Я решил, я смог поймать имя значения кнопки следующим образом:

{% for thing in value %}
  <form method="get" action="/loader">
    <input type=hidden name="{{ thing }}">
    <button class="button button">{{ thing }}</button>
  </form>
{% endfor %}

И мой код перенаправляет на:

@app.route("/loader", methods=["GET"])
def loader():
    data = dict(request.args)
    for key in data:
        print(key)
    return render_template('loader.html', value=password)

Так что теперь после того, как я нажимаю Кнопка Я возвращаю значение к моей функции python / загрузчик. Если клиент нажимает на кнопку a1, я получаю a1 в python.

0 голосов
/ 16 января 2020

data = request.args.get() должен вызываться для точного параметра, который вы хотите получить, например, get('username'). Примеры здесь . Кроме того, данные передаются из HTTP, протокола, через который переносятся значения, а не HTML, языка разметки. Если вам нужны все значения, request.args вернет словарь с парами ключ-значение всех переданных параметров GET.

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