Измените URL-адрес в python в соответствии с опцией html - PullRequest
0 голосов
/ 25 мая 2020

Я использую следующий код HTML для параметров формы:

<form action="/submit" method="POST">

        <div class="form-group">
          <h3>Section</h3>
          <select name="articles">
            <option value="">Select Section</option>
            <option value="Business">Business</option>
            <option value="Sport">Sports</option>
            <option value="Culture">Culture</option>
            <option value="Technology">Technology</option>

          </select>
        </div>

И следующий код python:

url = 'https://api.nytimes.com/svc/topstories/v2/{section}.json?api-XXXX'

response1 = urllib.request.urlopen(url).read()
data = json.loads(response1.decode('utf-8').replace('\n', ''))

Я использую Jinja2 и Flask и хотел бы, чтобы {раздел} был заполнен в соответствии с вариантом, выбранным пользователем перед отправкой.

Спасибо!

1 Ответ

0 голосов
/ 25 мая 2020

Похоже на этот вопрос: Получение значения из тега select с помощью flask

Получите результаты элемента select с помощью встроенного в flask метода request.form.get . Оттуда передайте значение f-строке, используя точную строку URL-адреса, как вы разместили выше, за исключением f впереди.

См. https://docs.python.org/3/reference/lexical_analysis.html#formatted -строковые литералы

section = flask.request.form.get('articles')
url = f'https://api.nytimes.com/svc/topstories/v2/{section}.json?api-XXXX'
...