can we use python to read HTML control in webapp

ananth
ananth Registered Posts: 41 ✭✭✭✭✭

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

Best Answer

  • Liev
    Liev Dataiker Alumni Posts: 176 ✭✭✭✭✭✭✭✭
    edited July 2024 Answer ✓

    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!

Answers

  • ananth
    ananth Registered Posts: 41 ✭✭✭✭✭

    Hi @Liev
    , thank you! this works.

  • moumita_biswas
    moumita_biswas Partner, Dataiku DSS Core Designer, Dataiku DSS & SQL, Dataiku DSS ML Practitioner, Dataiku DSS Adv Designer, Registered Posts: 1 Partner

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

    we have to write?

    M.Biswas

  • ananth
    ananth Registered Posts: 41 ✭✭✭✭✭

    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" />

Setup Info
    Tags
      Help me…