【问题标题】:Flask - querying the sqlite to javascriptFlask - 将 sqlite 查询到 javascript
【发布时间】:2020-05-20 20:44:35
【问题描述】:

我正在尝试使用 flask-sqlite 通过 google maps api 呈现数据。

目前在我的views.py 文件中我有这个方法:

@app.route('/googlemap.html', methods=['POST'])
def map():
    if request.method == 'POST':
        conn = sqlite3.connect(database.db)
        cur = conn.cursor()
        c_lat = cur.execute("SELECT latitude FROM table")
        c_long = cur.execute("SELECT longitude FROM table")
        return render_template(content=render_template('googlemap.html', lat=c_lat.fetchall(), long=c_long.fetchall()))

在 google maps api 示例中,他们手动添加每个点

function getPoints() {
        return [
          new google.maps.LatLng(37.782551, -122.445368),
          new google.maps.LatLng(37.782745, -122.444586)
        ];

但我想查询每个数据并将数据库中的每个纬度和经度添加到我的 googlemap.html 文件中

<script>
function getPoints() {
          var points = [];
          //Add each latitude into points array and return and array off all points
        return points
      }
</script>

但我不知道如何将 views.py 文件中的 latlong 变量添加到代码的 javascript 部分中

【问题讨论】:

    标签: javascript python sqlite flask flask-sqlalchemy


    【解决方案1】:

    由于你没有使用ajax,你需要先将数据添加到某个标签, 通常我们在 HTML 文件中添加一个元标记

    例如:

    <meta id="map-data data-lat="{{lat}}" data-long="{{long}}">
    

    现在在你的 JS 代码中,你可以使用 jquery 来访问这些数据

    var some_data = $('#my-data').data();
    

    您现在可以在控制台中打印 some_data 并检查

    【讨论】:

      【解决方案2】:

      您可以这样做将您的数据库查询结果映射到 JavaScript。

      <script type="text/javascript">
        var lats = {{ lat|tojson }};
        var longs = {{ longs|tojson}};
      </script>
      

      【讨论】:

        猜你喜欢
        • 2012-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-05
        • 1970-01-01
        • 2021-07-23
        • 1970-01-01
        相关资源
        最近更新 更多