Probleme d'image avec flask

Bonsoir, j'arrive pas a mettre une image de fond avec flask via du code css que voici :
entete2="""
<!DOCTYPE html>
<html>
  <head>
        <meta charset="utf-8">
        <title>Page2</title>
        <style>
        h1{text-align: center;}
        body {"background-image=url(images/image_hacker.jpg)" }
        </style>
  </head>
  <body>
        <h1>Bienvenue sur l'escape game !</h1>

"""

basdepage2="""
   </body>
</html>
"""


et le code flask concerné :
@app.route('/vraidebut', methods = ['POST']) # Ici on précise la méthode d'envoi des données (GET ou POST)
def resultat():
    resultat = flask.request.form # On récupère le résultat de la requête sous forme de dictionnaire

    # on récupère le nom et le prénom, ce sont des entrées du dictionnaire
    p = resultat['mdp']
    if p == 'ELMDPPALS':
        page=entete2
        page+=basdepage2
        return page
    else:
        return "<p>Bonjour \n" "acces refusé</p>"

    # On renvoie la réponse

app.run(debug=True)

Pouvez vous m'aider ?
Merci

10 réponses

  1. Contributeur
    bonjour,
    as-tu testé ta page html, hors flask?
    0
    1. oui et ça marche très bien
      0
      1. Contributeur
        peux-tu alors montrer la page html qui marche très bien,
        et le code source html qui ne marche pas?
        0
    2. d'accord voici un screen avec le code seulement en html :



      et voici le meme code mais avec flask qui ne marche pas du coup :
      entete2="""
      <!DOCTYPE html>
      <html>
        <head>
              <meta charset="utf-8">
              <title>Page2</title>
              <style>
              h1{text-align: center;}
              body {"background-image=url(images/image_hacker.jpg)" }
              </style>
        </head>
        <body>
              <h1>Bienvenue sur l'escape game !</h1>
      
      """
      
      basdepage2="""
         </body>
      </html>
      """


      @app.route('/vraidebut', methods = ['POST']) # Ici on précise la méthode d'envoi des données (GET ou POST)
      def resultat():
          resultat = flask.request.form # On récupère le résultat de la requête sous forme de dictionnaire
      
          # on récupère le nom et le prénom, ce sont des entrées du dictionnaire
          p = resultat['mdp']
          if p == 'ELMDPPALS':
              page=entete2
              page+=basdepage2
              return page
          else:
              return "<p>Bonjour \n" "acces refusé</p>"
      
          # On renvoie la réponse
      
      app.run(debug=True)
      0
    3. je vous envoie le code source de la page qui marche juste html.
      *<!DOCTYPE html>
      <html>
        <head>
              <meta charset="utf-8">
              <title>Page2</title>
              <style>
              h1{text-align: center;}
              body {background-image: url("images/image_hacker.jpg"); }
              </style>
        </head>
        <body>
              <h1>Bienvenue sur l'escape game !</h1>
         </body>
      </html>
      

      C'est exactement le meme que dans "entete2" + "basdepage2"
      0
      1. Contributeur
        Et le code source de la page qui ne fonctionne pas?
        0
    4. Ce code fonctionne tres bien mais des que je le passe en python pour l'executer avec flask, il ne marche plus.
      0
      1. En fait c'est un probleme directement lié a l'image parce que si je change le "background-image" en background-color", le code s'execute tres bien avec flask
        0
        1. Contributeur
          Dans les deux cas, le résultat s'affiche via un navigateur?
          As-tu récupéré les deux sources html via ce navigateur, comme expliqué en #5?
          0
      2. les codes sources des pages html et via flask sont les memes
        0
        1. Contributeur
          c'est surprenant que le navigateur réagisse différemment à deux pages identiques...
          0
        2. Contributeur
          @yg_beet en mettant l'url complet de l'image?
          les urls des deux pages sont-ils identiques (à part le nom du fichier)?
          0
      3. je suis allé les voir comme indiqué en #5
        0
        1. oui elles sont identiques
          0
          1. Contributeur
            Est-ce un site accessible par Internet, que nous pouvons tester?
            0