Exécuter un Script Python pour html
Bonsoir,
j'ai besoin d'aide svp:
j'ai créé une page html pour inscription des utilisateur pour un chatroom.
j'essaie d'ajouter les utilisateur via un bouton inscription qui appelle le script python ajouter.py
mon probleme : Je précise que j'ai également placé ajouter.py dans le même répertoire que celui de ma page html, mais au lieu de l'exécutér, il m"affiche le code !
Comment faire pour que mon navigateur internet exécute le code. Merci de votre réponde.
ps : j'ai fait cette liaison sur la page html <form name="mon-formulaire1" action="ajouter.py" method="get">
Windows / Chrome 106.0.5249.168
- Exécuter script python depuis html
- Script vidéo youtube - Guide
- Editeur html - Télécharger - HTML
- Citizen code python avis - Accueil - Outils
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
6 réponses
Bonjour,
En fait il faut soit que ton code HTML contienne du javascript qui fait ce que tu veux faire (auquel cas, rien n'est lancé côté python, tout se passe purement dans le navigateur), soit comme le dit yg_be, que tu codes un serveur web en python (c'est plus indiqué dans ton cas car on s'attend à ce que plusieurs personnes participent au chat.
Il existe plusieurs modules qui permettent d'écrire des serveurs web, mais pour ma part, je te recommande cherrypy.
Voici un exemple pour démarrer. Copie colle ce fichier dans get_post_example.py puis lance :
python3 get_post_example.py
Tu devrais voir des lignes s'afficher :
[15/Nov/2022:19:08:30] ENGINE Listening for SIGTERM.
[15/Nov/2022:19:08:30] ENGINE Listening for SIGHUP.
[15/Nov/2022:19:08:30] ENGINE Listening for SIGUSR1.
[15/Nov/2022:19:08:30] ENGINE Bus STARTING
[15/Nov/2022:19:08:30] ENGINE Started monitor thread 'Autoreloader'.
[15/Nov/2022:19:08:31] ENGINE Serving on http://127.0.0.1:8080
[15/Nov/2022:19:08:31] ENGINE Bus STARTED
Comme on le voit ici, le serveur est accessible via http://127.0.0.1:8080 il suffit donc d'ouvrir cette URL dans ton navigateur pour tester l'exemple.
Bonne chance
Salut
Merci beaucoup pour l'explication mais autant que débutante je ne comprends pas bien ce code. Voila ce que j'ai fait :
server.py :
import http.server PORT = 80 server_address = ("", PORT) server = http.server.HTTPServer handler = http.server.CGIHTTPRequestHandler handler.cgi_directories = ["/"] print("Serveur actif sur le port :", PORT) httpd = server(server_address, handler) httpd.serve_forever()
index.py : ce script affiche la page html du login pour le chatroom
# coding: utf-8 import cgi form = cgi.FieldStorage() print("Content-type: text/html; charset=utf-8\n") print(form.getvalue("name")) html = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta charset="utf-8"> <!-- importer le fichier de style --> <link rel="stylesheet" href="file:///C|/Users\\USER\PycharmProjects\chatroom/style.css" media="screen" type="text/css" /> </head> <body> <center><b><p>Bienvenue dans la Messagerie Instantanée</p></b> </center> <div id="container"> <!-- zone de connexion --> <form action="vérification.py" method="POST"> <h1>Connexion</h1> <label><b>Nom d'utilisateur</b></label> <input type="text" placeholder="Entrer le nom d'utilisateur" name="pseudo" required> <label><b>Mot de passe</b></label> <input type="password" placeholder="Entrer le mot de passe" name="mot_de_passe" required> <input type="submit" id='submit' value='Se Connecter' /> <h1>inscription</h1> <input type="submit" onclick=window.location.href='inscription.html'; value= 'Créer Nouveau Compte' /> </form> </div> </body> </html> """ print(html)
Mon problème :
J'ai créé une page html dans un script python et je n'arrive pas à le mettre en forme avec css localhost:80/index.py
Pourtant j'ai le fichier css dans le même répertoire que index.py
href="file:///C|/Users\\USER\PycharmProjects\chatroom/style.css"
Je ne comprends pas ?
Salutations
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionbonjour
je l'ai pas compris
je continue mes recherches pour une solution
merci de m'éclairer si possible
Bonjour,
Par rapport au message #4 :
Merci beaucoup pour l'explication mais autant que débutante je ne comprends pas bien ce code.
Qu'est-ce que tu ne comprends pas ? L'as tu essayé ?
L'exemple en question montre comment réagir une requête HTTP (GET ou POST). Si tu ne sais pas ce que c'est, tu peux lire cette page. L'idée c'est qu'à chaque clic, tu lances une requête HTTP à laquelle ton serveur web réagit en exécutant du code python.
J'ai créé une page html dans un script python et je n'arrive pas à le mettre en forme avec css localhost:80/index.py
Ce message montre un exemple minimal cherrypy avec un fichier css.
Personnellement, je n'utilise que cherrypy pour coder des serveurs web car parmi toutes les modules que j'ai testés (http, falcon, gunicorn) c'est celle que j'ai trouvé la plus simple et la plus pratique. Après libre à toi de considérer le module de ton choix...