如何根据下拉列表值搜索和显示数据?

时间:2019-05-27 16:37:43

标签: python flask

我创建了一个flask应用程序,以显示下拉列表中的某个文件中的服务ID和“查找办公室”按钮。

我必须获得的是,每当从下拉列表中选择值时,都应触发getoffices Web服务并从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>

和以下Web服务getservice的python代码,该代码传递一个服务ID列表以显示在下拉列表中

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

以下用于Web服务的python代码将接收一个整数作为服务ID,并将从pandas数据帧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())
从下拉列表中选择服务ID时,应触发

getoffices网络服务。要绘制Google地图的示例数据是

ServiceID联系人名称郊区电话号码Lon Lon

1埃尔顿·麦肯齐·赫斯特维尔(+61)02 35563485 -33.975869 151.088939

2埃尔顿·麦肯齐·赫斯特维尔(+61)02 35563485 -33.975869 151.088939

1 Kennith Graves Sydney(+61)02 34533466 -33.867139 151.207114

0 个答案:

没有答案