Как я могу искать и отображать данные на основе значения выпадающего списка? - PullRequest
0 голосов
/ 27 мая 2019

Я создал приложение фляги для отображения идентификаторов услуг из какого-либо файла в раскрывающемся списке и кнопки «Найти офисы».

Что мне нужно получить, так это то, что всякий раз, когда выбирается значение из выпадающего списка, веб-служба getoffices должна запускаться и получать соответствующую таблицу из кадра данных pandas и отображать его.Исходя из этих данных, отобразите карту кластера Google с отметкой местоположения возвращенных офисов (в таблице указаны широта и долгота).Карта должна быть центрирована и увеличена до соответствующего уровня, чтобы показать все офисы.

У меня есть следующий HTML-код

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Services</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <h1>Services from Offices</h1>
 </head>
 <body>
       Service ID: 
      <select name= df_services method="GET" action="/">
      {% for service in table%}
      <option value= "{{ service }}" SELECTED>{{ service }}</option>"
      {% endfor %}
      </select><p><p><p>
      <button type="submit" class="btn btn-success">Locate Offices</button>
 </body>
 </html>

и код Python для веб-службы getservice, как показано ниже, который проходитсписок сервисов для отображения в раскрывающемся списке

@app.route('/api/v1/resources/getservices', methods=['GET'])
def api_services():
   return render_template('office_map.html',table=lst)

следующий код Python для веб-сервиса получит целое число в качестве идентификатора сервиса и получит все данные, которые совпадают с pandas dataframe df, и будет передан...

@app.route('/api/v1/resources/getoffices', methods=['GET'])
def api_id():
   # Check if an ID was provided as part of the URL.
   # If ID is provided, assign it to a variable.
   # If no ID is provided, display an error in the browser.
   if 'ServiceID' in request.args:
       result = df.loc[df.ServiceID==int(request.args['ServiceID'])]
   else:
       return "Error: No id field provided. Please specify an id."

   return render_template('view.html',table=result.to_html())

веб-служба getoffices должна запускаться, когда в раскрывающемся списке выбран идентификатор службы ... пример данных для построения карты Google:

ServiceID Имя контакта Номер телефона в пригородеЛат Лон

1 Элтон Маккензи Херствилль (+61) 02 35563485 -33.975869 151.088939

2 Элтон Маккензи Херствилл (+61) 02 35563485 -33.975869 151.088939

Кен 1(+61) 02 34533466 -33.867139 151.207114

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