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. oui elles sont identiques
    1. Contributeur
      Est-ce un site accessible par Internet, que nous pouvons tester?
  2. les codes sources des pages html et via flask sont les memes
    1. Contributeur
      c'est surprenant que le navigateur réagisse différemment à deux pages identiques...
    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)?
  3. 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
    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?
  4. Ce code fonctionne tres bien mais des que je le passe en python pour l'executer avec flask, il ne marche plus.
    1. 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"
      1. Contributeur
        Et le code source de la page qui ne fonctionne pas?
    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)
    3. oui et ça marche très bien
      1. Contributeur
        peux-tu alors montrer la page html qui marche très bien,
        et le code source html qui ne marche pas?