Artículo
Muhammad Waseem · Mar 10 Lectura de 2 min

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 embebidoMarco web Python Flask y jQuery DataTable.

image

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.
 

Documentación relacionada: Embedded Python Overview.

En Open Exchange puedes consultar todos los detalles de mi aplicación: iris-python-apps

¡Gracias!

1
0 168
Debate (0)1
Inicie sesión o regístrese para continuar