Dos pasos para mostrar en internet datos de tablas de Caché usando jQuery DataTable y Python embebido
¡Hola comunidad!
En esta publicación voy a explicar cómo mostrar datos en internet usando Python embebido, Marco web Python Flask y jQuery DataTable.
Mostraré los procesos desde la tabla %SYS.ProcessQuery.
Paso 1: Añade la tabla a la página HTML y escribe debajo el código javascript para mostrar los datos pasados desde app.py :
HTML
<table id="myTable" class="table table-bordered table-striped">
</table>
Javascript
<script>
$(document).ready(function() {
// parse the data to local variable passed from app.py file
let my_data = JSON.parse('{{ my_data | tojson }}');
let my_cols = JSON.parse('{{ my_cols | tojson }}');
$('#myTable').DataTable( {
"data": my_data,
"columns": my_cols,"} );
} );
Paso 2: Crea la función python en el archivo app.py y define la ruta como se define a continuación, por ejemplo, estamos creando la función de procesos y definiendo /processes en la ruta:
App.py
from flask import Flask, jsonify, render_template
import iris
app = Flask(__name__)
@app.route("/")
def index():
#to render main index page
return render_template('index.html')
@app.route("/processes")
def processes():
#Define sql statement
mySql = '''
SELECT ID, NameSpace, Routine, LinesExecuted, GlobalReferences,
state, PidExternal, UserName, ClientIPAddress FROM %SYS.ProcessQuery ORDER BY NameSpace desc
'''
#Calling embedded python iris.sql.exec class to get result set
resultSet = iris.sql.exec(mySql)
#Get dataframe by calling resultset dataframe function
dataframe = statement.dataframe()
#Convert and data to Json by using to_json dataframe method and json loads function
my_data=json.loads(dataframe.to_json(orient="split"))["data"]
#Get columns details
my_cols=[{"title": str(col)} for col in json.loads(df.to_json(orient="split"))["columns"]]
#render html by passing my_data and my_cols variables which will be used to generate datatable
return render_template('tablesdata.html', my_data = my_data, my_cols = my_cols)
Y eso es todo. Con estos dos pasos, los datos de la tabla de Caché se pueden mostrar en internet.