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

Réseau/Web Python Discussion :

Affichage image dans une page html générée par Python [Python 2.X]


Sujet :

Réseau/Web Python

  1. #1
    P.G
    P.G est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 158
    Points : 73
    Points
    73
    Par défaut Affichage image dans une page html générée par Python
    Bonjour à tous,

    Je souhaite afficher une image dans une page html gérée par python.

    Le tout sur un raspberryPI avec apache actif.

    Le script python est dans le dossier /usr/lib/cgi-bin/

    il est appelé par <mon_IP>/cgi-bin/compteur.py ( script pour des essais nom sans importance )

    Le script fonctionne la page html est générée avec les variables affichées mais pas l'image.

    Je voulait lui faire afficher une image présente dans le même répertoire mais là impossible.

    Le message d'erreur trouvé dans error.log d'apache est le suivant :

    [Thu May 07 20:22:56 2015] [error] [client 192.168.1.7] (8)Exec format error: exec of '/usr/lib/cgi-bin/Synoptique.jpg' failed, referer: http://192.168.1.30/cgi-bin/compteur.py
    [Thu May 07 20:22:56 2015] [error] [client 192.168.1.7] Premature end of script headers: Synoptique.jpg, referer: http://192.168.1.30/cgi-bin/compteur.py

    Le code est ci-dessous :

    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
    #!/usr/bin/env python
    # -*- coding: iso-8859-15 -*-
     
    try:
        # si le fichier existe, lire le nombre
        myfile = open("counter.dat","r")
        number = int(myfile.readline())
        myfile.close()
        toto = 20
    except:
        number = 0
        toto = 21
     
     
    # avancer le compteur et écraser le fichier
    myfile = open("counter.dat","w")   
    number+=1
    myfile.write(str(number))
    myfile.close()
     
    # afficher la page html
    print "Content-Type: text/html"
    print """
    <HEAD>
    <TITLE>Server Counter</TITLE>
    </HEAD>
    <html>
    <body style="background-color:#D3D3D3;">
    <h1>Télésurveillance de site isolé 2.0</h1>
    <p>Nous avons compté %s visites.<br/><br/>
    Et voilà toto %s<p>
    <p><img src="Synoptique.jpg" /><p>
    </body>
    </html>
    """ %(number,toto)

    Si quelqu'un a une idée ?

    Merci beaucoup.

    P.G

  2. #2
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    Citation Envoyé par P.G Voir le message
    [Thu May 07 20:22:56 2015] [error] [client 192.168.1.7] (8)Exec format error: exec of '/usr/lib/cgi-bin/Synoptique.jpg' failed, referer: http://192.168.1.30/cgi-bin/compteur.py
    vu d'ici on pourrait penser que le fait que l'image soit dans cgi-bin/ déclenche automatiquement son exécution, à vérifier mais si c'est ça je vois au moins deux solutions possibles:
    • changer l'image de répertoire, de telle manière qu'elle ne soit pas prise pour un cgi
    • ou carrément inclure l'image dans le code html


    un truc comme ça doit être possible :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    print """
    (...)
    <p>Nous avons compté %d visites.<br/><br/>
    Et voilà toto %s<p>
    <p><img src="data:image/jpeg;base64,%s" /><p>
    (...)
    """ %(number, toto, ''.join(open('Synoptique.jpg').read().encode('base64').split('\n')))

  3. #3
    P.G
    P.G est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 158
    Points : 73
    Points
    73
    Par défaut
    Hello,

    Merci pour votre réponse c'est ok la deuxième solution fonctionne parfaitement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/02/2013, 10h21
  2. changer une image dans une page html
    Par patricktoulon dans le forum VBScript
    Réponses: 4
    Dernier message: 26/03/2011, 17h17
  3. affichage image dans une page jsf
    Par coold dans le forum JSF
    Réponses: 2
    Dernier message: 23/02/2010, 23h16
  4. avec click sur un lien, ouvrir une image dans une page html
    Par Bydouille dans le forum Général JavaScript
    Réponses: 20
    Dernier message: 17/10/2007, 20h40
  5. [DEBUTANT][HTML] affichage d'une image dans une page
    Par nimport nawak dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/04/2005, 19h50

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