python - 简单的数据表 flask

标签 python jquery ajax flask datatables

我没有web开发经验,我想用flask为指定字段的表格添加数据,这是我的应用

from flask import *

from flask import jsonify

app = Flask(__name__)

@app.route('/page_test')                                                                                  
def page_test():
    meas = {"MeanCurrent": 0.05933, "Temperature": 15.095, "YawAngle": 0.0, "MeanVoltage": 0.67367, "VoltageDC": 3.18309, "PowerSec": 0.06923, "FurlingAngle": -0.2266828184, "WindSpeed": 1.884, "VapourPressure": 1649.25948, "Humidity": 0.4266, "WindSector": 0, "AirDensity": 1.23051, "BarPressure": 1020.259, "time": "2015-04-22 20:58:28", "RPM": 0.0, "ID": 1357}
    return jsonify(meas)

if __name__ == "__main__":
    app.run(debug=True)

这是我的 html (templates/view.html)

<script type="text/javascript" charset="utf8" src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/1.5.1/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/select/1.2.5/js/dataTables.select.min.js"></script>
<script type="text/javascript" charset="utf8" src="https://editor.datatables.net/extensions/Editor/js/dataTables.editor.min.js"></script>

<table id="myTable" class="table table-striped" style="width:100%" >
            <thead>
              <tr>
            <th>Time</th>
            <th>Mean Current</th>
            <th>Vapour Pressure</th>
            <th>Mean Voltage</th>
            <th>Temperature</th>
            <th>Humidity</th>
            <th>Bar Pressure</th>
            <th>RPM</th>
            <th>Wind Sector</th>
            <th>Wind Speed</th>
            <th>Air Density</th>
            <th>DC Voltage</th>                
            <th>Power Sector</th>
            <th>Furling Angle</th>
            <th>Yaw angle</th>                                   
          </tr>
        </thead> 
          </table>  
<script>
$(document).ready(function() {
    $('#myTable').DataTable( {
        "processing": true,
        "ajax": "/page_test",
        // add column definitions to map your json to the table                                           
        "columns": [
            {data: "time"},
            {data: "MeanCurrent"},
            {data: "VapourPressure"},
            {data: "MeanVoltage"},
            {data: "Temperature"},
            {data: "Humidity"},
            {data: "BarPressure"},
            {data: "RPM"},
            {data: "WindSector"},
            {data: "AirDensity"},
            {data: "VoltageDC"},
            {data: "PowerSec"},
            {data: "FurlingAngle"},
            {data: "YawAngle"}
        ]
    } );
});
</script>

访问 url http://127.0.0.1:5000/page_test仅显示 json 文件。

如何让脚本读取数据并显示表格?

最佳答案

我认为你需要做两件事:

  1. Datatables 期望数据是一个对象数组。您可以阅读有关预期数据结构的更多信息 here .您的 meas 需要是一个 Python 列表,例如:

    meas = [{“MeanCurrent”:0.05933,“Temperature”:15.095,“YawAngle”:0.0,“MeanVoltage”:0.67367,“VoltageDC”:3.18309,“PowerSec”:0.06923,“FurlingAngle”: -0.2266828184,“风速”:1.884,“ Vapor 压”:1649.25948,“湿度”:0.4266,“WindSector”:0,“空气密度”:1.23051,“气压”:1020.259,“时间”:“2015-04-22 :58:28", "RPM": 0.0, "ID": 1357}]

  2. 默认情况下,Datatables 期望数据位于 data 对象中。您有两个选择:

选项 1:返回数据对象中的数据,如下所示:

return jsonify({'data': meas})

选项 2:使用 ajax.dataSrc告诉 Datatables 在何处查找数据的选项,例如:

$('#myTable').DataTable( {
    "processing": true,
    "ajax": {url: "/page_test", 
             dataSrc: ""
            },
    // add column definitions to map your json to the table
    .....

关于python - 简单的数据表 flask ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48699039/

相关文章:

javascript - 有没有办法隐藏按钮但保留其功能

javascript - 每2秒从ajax获取数据并显示

javascript - 计算点击的复选框,即使在刷新后

python - 格式化来自curl命令的python PATCH请求

python - GAN 判别器否认生成的模型

python - 如何在 Python C API 中实现多态性?

ajax - 有人用过 TIBCO GI 吗?

python - 使用 optparse 将 stdin 和 stdout 重定向到 python 中的文件的一致方法

javascript - 用于触发 3,000 多个连续点击启用的前端操作的控制台脚本

javascript - 如果 div 隐藏或可见,则将类应用于元素