Survey banner
Switching to Dataiku - a new area to help users who are transitioning from other tools and diving into Dataiku! CHECK IT OUT

can we use python to read HTML control in webapp

Solved!
ananth
Level 3
can we use python to read HTML control in webapp

Hi,

do we have any option to read HTML control text and value in python in /DKU_TSHIRTS/webapps?

also can we create project from webapp? any example would be helpful

 

0 Kudos
1 Solution
Liev
Dataiker Alumni

Hi @ananth 

If you need to make values from UI available to your backend, you will need to make use of some JS in order to pass those values into a backend endpoint. The endpoint will use those, perhaps with other computations in order to generate a response. 

JS then will, if successful (or unsuccessful) update UI.

For example in HTML

<div>
  <input type="text" id="input_field" value="some_value">
</div>

 

Then in JS perhaps you want to capture when someone clicks on this (or other events)

$('#input_field').on('click', function () {
  input_value = $(this).val();
  $.getJSON(getWebAppBackendUrl('/do_something?input_value=' + input_value), function(data) {
    do_something_in_UI();
  });
});  

 

then in Python backend 

from flask import request
import json

@app.route('/do_something', methods = ['GET'])
def do_something():
    input_value = request.args.get('input_value')
    return json.dumps(some_dict_response)

 

Please treat the above as pseudocode to illustrate the general flow, hope this helps!

View solution in original post

4 Replies
Liev
Dataiker Alumni

Hi @ananth 

If you need to make values from UI available to your backend, you will need to make use of some JS in order to pass those values into a backend endpoint. The endpoint will use those, perhaps with other computations in order to generate a response. 

JS then will, if successful (or unsuccessful) update UI.

For example in HTML

<div>
  <input type="text" id="input_field" value="some_value">
</div>

 

Then in JS perhaps you want to capture when someone clicks on this (or other events)

$('#input_field').on('click', function () {
  input_value = $(this).val();
  $.getJSON(getWebAppBackendUrl('/do_something?input_value=' + input_value), function(data) {
    do_something_in_UI();
  });
});  

 

then in Python backend 

from flask import request
import json

@app.route('/do_something', methods = ['GET'])
def do_something():
    input_value = request.args.get('input_value')
    return json.dumps(some_dict_response)

 

Please treat the above as pseudocode to illustrate the general flow, hope this helps!

ananth
Level 3
Author

Hi @Liev , thank you! this works.

moumita_biswas
Level 1

I have a similar issue, can you please, guide us where that JS code 

 we have to write?

M.Biswas

 

0 Kudos
ananth
Level 3
Author

Hi @moumita_biswas ,

 

you have to have it updated in /libedition/localstatic "Static Web Resources"

and have that referred in your HTML as <link rel="stylesheet" href="/local/static/CSS//bootstrap.css" />

 
 

 

0 Kudos