Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme de définition de variable

Sujet résolu
    8 septembre 2023 à 9:59:45

    Bonjour,

    Je développe un site avec Python et le framework Flask (Jinja également)

    J'arrive a passer des données stockées initialement sur un fichier JSON de mon application python vers mon template HTML, mais je ne comprend pas pourquoi lorsque je fais passer un booléen via une variable, il m'indique sur la page HTML que celle-ci est undifined.

    mon environnement :

    >>> afficher("système", systeme)
    système -> Linux
    >>> afficher("jeu d'instructions", jeu)
    jeu d'instructions -> 64bit
    >>> afficher("distribution", distribution)
    distribution -> #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023
    >>> afficher("version python", python)
    version python -> 3.10.12

    mon code sur l'application python :

    @app.route('/contact/')
    def contact():
        with open('static/opening_hours.json', 'r') as hours:
            data = json.load(hours)
        return render_template('contactezmoi.html', toaster=False)

    mon code sur la page html :

    <script>
    console.log('wazaa out');
    console.log({{toaster}});
    </script>

    l'erreur dans ma console firefox :

    wazaa out contact:61:9

    Uncaught ReferenceError: False is not defined

    <anonymous>http://127.0.0.1:5000/contact/:62

    contact:62:1


    Je vous remercie par avance de votre attention, et j'espère que quelqu'un aura une idée, cela fait plusieurs jours que je sèche ... :/






    -
    Edité par RemiBonnand 8 septembre 2023 à 10:12:00

    • Partager sur Facebook
    • Partager sur Twitter
      8 septembre 2023 à 10:16:58

      résolu ou pas ?

      Le truc c'est que roaster est une variable du template, pas de js/html donc il faut la récupérer via l'utilisation des doubles accolades => {{toaster}}

      • Partager sur Facebook
      • Partager sur Twitter
        8 septembre 2023 à 10:20:10

        Après quelques modification, cela fonctionne, et je ne comprend pas pourquoi lorsque j'avais des essais auparavant, cela ne fonctionnait pas.

        merci d'avoir pris le temps de lire mon message, et désolé pour le dérangement.

        • Partager sur Facebook
        • Partager sur Twitter
          8 septembre 2023 à 11:14:48

          Le message d'erreur dit que False n'est pas une variable que javascript connaît (ça s'écrit false sans F majuscule).

          Je ne vois pas l'intérêt d'exécuter console.log(false).

          On peut le fabriquer via console.log(JSON.parse("false")) évaluation de console.log(JSON.parse({{toaster}})) avec render_template('contactezmoi.html', toaster=json.dumps(False)) 

          Dans tous les cas, pour passer d'une variable Python à une variable JavaScript, il va falloir passer par du JSON.

          • Partager sur Facebook
          • Partager sur Twitter

          probleme de définition de variable

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown