A voir également:
- Lancer script python via bouton html
- Script vidéo youtube - Guide
- Bouton shift pc ✓ - Forum Windows
- Citizen code python avis - Accueil - Outils
- Editeur html - Télécharger - HTML
- Quel est la touche shift sur le clavier ✓ - Forum Jeux vidéo
1 réponse
Bonjour,
Il y a plusieurs écoles, voici ce qui est possible de faire (par ordre de préférence) :
cherry_server.py
Dans cet exemple :
Bonne chance
Il y a plusieurs écoles, voici ce qui est possible de faire (par ordre de préférence) :
- utilise
pycharm
: tu programmes tout en python, et ton application s'occupe de retourner la page qui doit être traitée par le navigateur. Il est possible de facilement servir des fichiers statiques (image, css, javascript, etc...) - code une applet web : tu peux utiliser
gunicorn
+falcon
mais c'est plutôt moins pratique quecherrypy
. - installe au niveau de ton serveur web l'extension nécessaire pour lancer un cgi python
- code ta page web normalement, et au niveau du code disons php, appelle au travers d'un appel système python et le chemin vers ton code python.
cherry_server.py
#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # See https://docs.cherrypy.org/en/latest/tutorials.html for details import cherrypy, os HTML_SKEL = """ <h1>Simple form</h1> <form action="/to_upper" method="post"> <textarea id="input_text" name="input_text" rows="1" cols="80">%(input)s</textarea> <div id="div_input"> <input type="submit" value="submit"> </div> <div id="div_output"> %(results)s </div> </form> <img width="300px" src="/static/image.jpg"> """ def upper_fonc(s): return s.upper() def make_html_page(args :dict) -> str: return HTML_SKEL % args class Handler: @cherrypy.expose def index(self): return make_html_page( { "input" : "some random text", "results" : "No result so far :)", } ) @cherrypy.expose def to_upper(self, input_text = "some random text", **kwargs): return make_html_page( { "input" : input_text, "results" : upper_fonc(input_text) } ) if __name__ == "__main__": conf = { "/": { "tools.sessions.on" : True, "tools.staticdir.root" : os.path.abspath(os.getcwd()) }, "/static": { "tools.staticdir.on" : True, "tools.staticdir.dir" : "./files" } } cherrypy.quickstart(Handler(), "/", conf)
Dans cet exemple :
- l'utilisateur saisit une chaîne de caractère
- quand il clique sur le bouton submit, celle-ci est retournée en capitale.
- l'image dans cet exemple doit être rangée dans
files/image.jpg
pour s'afficher. - Côté navigateur : le site s'affiche en visitant
http://localhost:8080
, et l'imagehttp://localhost:8080/static/image.jpg
. On peut aussi accéder au site via ton adresse IP.
Bonne chance