IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Interfaçage autre langage Python Discussion :

Json et page web


Sujet :

Interfaçage autre langage Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut Json et page web
    Bonjour à tous.

    Je travaille sur le module flask, afin de créer un site web dynamique dans le but de d'interfacer l'ensemble de mon travail.
    Je souhaiterai inclure un fichier Json dans une de mes pages web.

    Voici où j'en suis:

    Actuellement je crée un dictionnaire que je passe en Json, et je le retourne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    @app.route('/test/')
    def test():
         dict = {}
         dict["Nom"] = ["Petit"]
         dict["Prenom"] = ["Jean"]
         return jsonify(dict)
     
     
    if __name__ == ' __main__ ':
          app.run(host='127.0.0.1',debug=True,port=5001)
    Ceci marche très bien j'ai mon dictionnaire au format Json qui s'affiche sur une page web vierge.

    Voilà où j'ai besoin de vous.
    Moi j'aimerai inclure ce fichier Json dans une de mes pages HTML que je créé moi même.
    Quelque chose dans ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    @app.route('/test/')
    def test():
         dict = {}
         dict["Nom"] = ["Petit"]
         dict["Prenom"] = ["Jean"]
         return render_template('test.html',js=jsonify(dict))
     
     
     
    if __name__ == ' __main__ ':
          app.run(host='127.0.0.1',debug=True,port=5001)
    Lorsque je réalise ceci, dans ma page 'test.html' en lieu et place de mon Json, j'obtiens la réponse suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Response 165 bytes [200 OK]>
    En espérant d'avoir étais assez clair.

    Merci à tous.

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Citation Envoyé par Jackbalek Voir le message
    Moi j'aimerai inclure ce fichier Json dans une de mes pages HTML que je créé moi même.
    Quelque chose dans ce style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @app.route('/test/')
    def test():
         dict = {}
         dict["Nom"] = ["Petit"]
         dict["Prenom"] = ["Jean"]
         return render_template('test.html',js=jsonify(dict))
    Là c'est du Python que tu nous montres ...

    Quoiqu'il en soit, ta page test.html reçoit bien le json en argument, il faut voir ce qu'elle en fait maintenant.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    Oui oui je suis conscient que je suis sous Python . Désolé si je ne l'ai pas dit plus clairement.

    Dans ma page HTML j'ai ceci qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Response 165 bytes [200 OK]>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Petite question au hasard : app.run(host='127.0.0.1', debug=False, port=5001) ça donnerait quoi ?

    @+.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    Citation Envoyé par tarball69 Voir le message
    Bonjour,

    Petite question au hasard : app.run(host='127.0.0.1', debug=False, port=5001) ça donnerait quoi ?

    @+.
    Ceci te permet de reload ta page automatiquement, même après avoir changer ton code.

  6. #6
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Citation Envoyé par Jackbalek Voir le message
    Oui oui je suis conscient que je suis sous Python . Désolé si je ne l'ai pas dit plus clairement.

    Dans ma page HTML j'ai ceci qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Response 165 bytes [200 OK]>
    D'accord mais ce que fait Flask c'est ouvrir le fichier test.html, le modifier suivant les instructions que tu y as écrite à son intention (des machins comme {% block home %}) ainsi que les données json et retourner cette page modifiée au requérant.

    C'est ce qui me fait dire que le problème se situe dans ta page html.

    Ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    @app.route('/test/')
    def test():
         dict = {}
         dict["Nom"] = ["Petit"]
         dict["Prenom"] = ["Jean"]
         return render_template('test.html',js=jsonify(dict))
    est classique et me semble exact.

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 30
    Par défaut
    C'est fort probable que ce soit un problème sous html, je suis novice dans ce sujet.

    Voici un exemple de ce que je réalise dans ma page HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html>
          <head>
    		<Title>PAGE</Title>
          </head>
     
         <body>
               <p> Voici le résultat de mon json : {{js}} </p>
        </body>
     
    </html>
    Il y a peut être une façon spécifique de l'appeler que je ne fait pas.

  8. #8
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Le json n'est pas utilisable directement comme cela, il faut le charger, passer les data et, dans le html, dire à Flask comment les utiliser.


    Ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    @app.route('/fake')
    def test():
         dict = {}
         dict["Nom"] = "Petit"    # ! ne pas mettre de crochets aux valeurs !
         dict["Prenom"] = "Jean"
         js = jsonify(dict)
         return render_template('fake.html', data=json.loads(js.data))
    avec fake.html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html>
          <head>
    		<Title>PAGE</Title>
          </head>
         <body>
               <p> Voici le résultat de mon json : </p>
               <p>Nom: {{ data.Nom }} </p>
               <p>Prenom: {{ data.Prenom }} </p>
        </body>
    </html>
    Résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     Voici le résultat de mon json :
     
    Nom: Petit
     
    Prenom: Jean
    Si l'anglais ne te rebute pas, ce site est particulièrement intéressant :
    http://www.realpython.com/blog/pytho...-flask-part-i/

Discussions similaires

  1. [JSP][WEB] recuperer le contenu d'une page web
    Par ypikahe dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 14/03/2008, 10h10
  2. application qui connecte sur une page web
    Par spoolz dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 14/04/2004, 09h47
  3. [Réseau]Récupération de page Web
    Par n1c0las dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 27/03/2004, 18h15
  4. ouvrir une page Web en mode texte
    Par Halleck dans le forum Windows
    Réponses: 7
    Dernier message: 03/03/2004, 15h08
  5. Réponses: 3
    Dernier message: 28/10/2003, 14h26

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