Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2017
    Messages : 27
    Points : 10
    Points
    10

    Par défaut recuperer valeur html vers python en utilisant flask

    Bonjour,

    Voila je suis bloqué depuis quelques jours sur cette question. Comment récuperer des valeurs inscrites a l'écran et les utiliser dans mon code python. L'utilisateur bouge les curseurs du slider et j'aimerai récuperer les valeurs notés A,B,C et les utiliser dans un programme python. J'ai essayé des choses avec Flask mais je suis bloqué rien ne marche..

    Code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css" rel="stylesheet" />
     
     
    <body>
     
     
    <div id="slider"></div>
     
    <ul class="result">
      <li>A : <span id="a">0</span></li>
      <li>B : <span id="b">75</span></li>
      <li>C : <span id="c">250</span></li>
    </ul>
     
     
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
    <script src="main.js"></script>
     
    </body>
     
     
    main.js:
     
    $("#slider").slider({
      min: 0,
      max: 500,
      values: [75, 250],
      slide: function(event, ui) {
        //console.log(ui.values);
        let a = ui.values[0];
        let b = ui.values[1] - ui.values[0];
        let c = 500-ui.values[1];
     
        $("#a").html(a);
        $("#b").html(b);
        $("#c").html(c);
     
     
      }
    });
    Cordialement,
    Miserness

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    mars 2012
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 1 876
    Points : 3 077
    Points
    3 077

    Par défaut

    Apparement tes A, B, C ne font strictement rien, hormis afficher du html.

    Tu devrais ajouter un bouton "précédent", "suivant" et dans le onclick jquery, invoquer une route du style: /monsite/slider/pos/<valeur>

    Tu remplaceras <valeur> par le nr du slide (0, 1... max-1)

    Dans Flask tu ajoutes cette route dans le controller et par exemple lui retourner le code html à afficher si tu veux continuer ton programme
    (du controller vers la vue) et donc retirer les 3 lignes A, B, C [35 à 37]

    ^^
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2017
    Messages : 27
    Points : 10
    Points
    10

    Par défaut

    Bonjour,

    Merci de votre réponse. Je travaille avec Flask donc autant continuer dans cette voix la. Mon probleme est que oui je veux crée une route pour effectuer des actions en fonction des valeurs données cependant, je n'ai aucune idée de comment recuperer ces valeurs car ce n'est pas un form. Sauriez-vous me dire comment je peux les recuperer pour ensuite effectuer divers actions ?

    En effet, l'utilisateur doit juste a jouer avec le slider..

    Cordialement,
    Miserness

  4. #4
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    mars 2012
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 1 876
    Points : 3 077
    Points
    3 077

    Par défaut

    Source: https://www.rithmschool.com/courses/...ing-with-flask

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #let's make up a parameter called name. Its value is going to be WHATEVER someone requests, but we will respond with the string "The name is" along with the value in the URL.
    @app.route('/name/<person>')
    def say_name(person):
        return f"The name is {person}"
    Ici il récupère le nom de la personne
    Si la réponse vous a aidé, pensez à cliquer sur +1

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2017
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : décembre 2017
    Messages : 27
    Points : 10
    Points
    10

    Par défaut

    Je sais recuperer une data avec flask mais je suis toujours bloqué. J'arrive pas a voir comment la valeur de A peut etre relier à une variable dans python.. Ca fait 2 jours que je cherche pas moyen de trouver, grand besoin de votre aide.

  6. #6
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    mars 2012
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : mars 2012
    Messages : 1 876
    Points : 3 077
    Points
    3 077

    Par défaut

    Tu as lu la doc mise plus haut?

    Via request, tu peux récupérer les valeurs.

    myvar = request(....)

    Ca fonctionne avec des requêtes, coté serveur: tu récupères une requête et l'analyse pour la traiter, et côté client c'est avec des xmlhttprequest jquery, le client invoque le serveur et attend son retour, l'analyse et le traite dans son code de retour client avec des instructions jquery pour afficher, cacher des éléments HTML "div", "bouton"... à l'écran.

    Donc côté serveur tu dois lui retourner une string en gros et côté client il doit l'invoquer avec une xmlhttprequest (ou httprequest) en jquery avec get/post.

    Un code de ce style côté client:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var jqxhr = $.get( "example.php", function() {
      .done(function() {
        alert( "second success" );
      })
      .fail(function() {
        alert( "error" );
      })
      .always(function() {
        alert( "finished" );
      });
    https://api.jquery.com/jquery.get/
    Rem: il y a une erreur dans leur page: j'ai retiré le code fautif de leur page lol.

    Essaye d'abord avec des alert box, ensuite tu mettras des méthodes jquery pour cacher, montrer des éléments.
    Remplace example.php par "/machine/path/param" la route complète vers ton serveur.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    novembre 2015
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : novembre 2015
    Messages : 83
    Points : 83
    Points
    83

    Par défaut

    Salut, pour faire ça, j'utilise ajax et VueJS.
    Dès que la variable modifié par le curseur est modifié, j'envoie une requête AJAX contenant ma variable.
    Cette requête est ensuite récupérer par une route qui la traite et qui peux renvoyer le résultat de ce traitement.

    Ma route ressemble à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @app.route('/get_datas/<string:name>', methods=['POST', 'GET'])
    def get_datas(name):
        if (name == 'bonjour'):
            return (jsonify("Salut, comment vas-tu ?"))
    et ma fonction pour envoyer mes variables et récupérer le résultat "renvoyer par la route":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    function request_ajax(address) {
        /**
         * Send request with GET.
         */
        var xhr = new XMLHttpRequest();
        xhr.open("GET", "get_datas/"+address, false);
        xhr.send();
        return (xhr.responseText);
    };
     
    var message = "bonjour";
    result = request_ajax(message);
     
    #Après tu peux exploiter ta variable message via la variable name dans ton code python.
    Dans cette exemple, tu as ensuite accès à la variable name. Tu peux faire des modifications dessus et renvoyer une valeur par exemple.

Discussions similaires

  1. Champs texte et mise a jour des valeurs (HTML/PHP/Python)
    Par Jetty78 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 06/08/2015, 16h42
  2. recuperer valeur "wc -l" et l'utiliser pour faire un calcul
    Par cedric190985 dans le forum Shell et commandes GNU
    Réponses: 14
    Dernier message: 24/03/2010, 14h47
  3. VBA - recuperer valeur colonne vers la ligne
    Par producty dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2009, 17h49
  4. Recuperer valeur DBGrid ver TEDIT ?
    Par flo291288 dans le forum C++Builder
    Réponses: 2
    Dernier message: 30/06/2008, 11h51
  5. Transfert valeur HTML vers PHP
    Par lccm666 dans le forum Fichiers
    Réponses: 6
    Dernier message: 03/11/2006, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo