SlideShare a Scribd company logo
Session 2/2
Olivier Rovellotti
Python
Lancer Flask
Set FLASK_APP=mypython.py
flask run
Le site des étudiants de la classe
Etudiant 1
Etudiant 2
Etudiant 3
Etudiant 4
Les étudiants de la classe Etudiant 1
Détail de l’étudiant
Les routes
from flask import Flask
app = Flask(__name__)
@app.route('/')
def classe():
return 'classe'
@app.route('/etudiant')
def etudiant():
return 'un etudiants'
SET FLASK_DEBUG=1
Les routes avec parametres
from flask import Flask,render_template
app = Flask(__name__)
@app.route('/')
def classe():
return 'classe'
@app.route('/etudiant/<name>')
def hello(name=None):
return ('bonjour ' + name)
Les templates
<!DOCTYPE html>
<html>
<head>
<title>un etudiant de la classe</title>
</head>
<body>
<div class="container">
<p>Etudiant : {{name}}</p>
</div>
</body>
</html>
@app.route('/etudiant/<name>')
def hello(name=None):
return render_template('TemplateEtudiant.html', name=name)
Les templates
<!DOCTYPE html>
<html>
<head>
<title>un etudiant de la classe</title>
</head>
<body>
<div class="container">
<p>Etudiant : {{name}}</p>
</div>
</body>
</html>
@app.route('/etudiant/<name>')
def hello(name=None):
return render_template('TemplateEtudiant.html', name=name)
Les templates
<!DOCTYPE html>
<html>
<head>
<title>un etudiant de la classe</title>
</head>
<body>
<h1>Voila la liste des etudiants</h1>
<div class="container">
{% for key, value in dictionaire.items() %}
<li> <a href="./etudiant/{{ key }}">{{ key }}</a></li>
{% endfor %}
</div>
</body>
</html>
dictionaire = {"Olivier": '0609566656', "Kevin": '065567785',"Shana": '065767785'}
@app.route('/')
def classe():
return render_template('TemplateClasse.html', dictionaire=dictionaire)
<link rel="stylesheet" type="text/css"
href="{{ url_for('static',
filename='style.css') }}">
body { font-family: sans-serif; background: #eee; }
a, h1, h2 { color: black; }
h1, h2 { font-family: 'Georgia', serif; margin: 0; }
h1 { border-bottom: 2px solid ; background-color:lightgrey }
h2 { font-size: 1.2em; }
Les styles
<form method="POST" action="{{ url_for('add_post') }}">
<dl>
<dt>Nom:
<dd><input type="text" size="30" name="name">
<dt>Telephone:
<dd><input type="text" size="30" name="telephone">
<dd><input type="submit" value="Ajouter">
</dl>
</form>
Les Ajouts
@app.route('/add_etudiant', methods=['POST'])
def add_post():
name= request.form['name']
telephone= request.form['telephone']
dictionaire[name] = telephone
return redirect(url_for('classe'))
Et voila
Twitter: @orovellotti
www.natural-solutions.eu
Merci
Olivier_rovellotti@natural-solutions.eu

More Related Content

More from Olivier Rovellotti

Opendata arles
Opendata arlesOpendata arles
Opendata arles
Olivier Rovellotti
 
Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2
Olivier Rovellotti
 
The quest for new empowered citizen scientists
The quest for new empowered citizen scientistsThe quest for new empowered citizen scientists
The quest for new empowered citizen scientists
Olivier Rovellotti
 
A la découverte de l'ux design
A la découverte de l'ux designA la découverte de l'ux design
A la découverte de l'ux design
Olivier Rovellotti
 
Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie
Olivier Rovellotti
 
Le donut tour metropole
Le donut tour metropoleLe donut tour metropole
Le donut tour metropole
Olivier Rovellotti
 
Ns ux-emotion
Ns ux-emotionNs ux-emotion
Ns ux-emotion
Olivier Rovellotti
 
Ns ux-ethique
Ns ux-ethiqueNs ux-ethique
Ns ux-ethique
Olivier Rovellotti
 
Datasud barcamp
Datasud barcampDatasud barcamp
Datasud barcamp
Olivier Rovellotti
 
Datasud barcamp 2
Datasud barcamp 2Datasud barcamp 2
Datasud barcamp 2
Olivier Rovellotti
 
Scapin et bastien
Scapin et bastienScapin et bastien
Scapin et bastien
Olivier Rovellotti
 
Ns cleo lodel ux
Ns cleo lodel uxNs cleo lodel ux
Ns cleo lodel ux
Olivier Rovellotti
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
Olivier Rovellotti
 
Ns python 2
Ns python 2Ns python 2
Ns python 2
Olivier Rovellotti
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 2
Ns algo 2Ns algo 2
Ns python 1
Ns python 1Ns python 1
Ns python 1
Olivier Rovellotti
 
Ns algo 1
Ns algo 1Ns algo 1
Ns ux-session-2
Ns ux-session-2Ns ux-session-2
Ns ux-session-2
Olivier Rovellotti
 
Ns opendata biodiversite
Ns opendata biodiversiteNs opendata biodiversite
Ns opendata biodiversite
Olivier Rovellotti
 

More from Olivier Rovellotti (20)

Opendata arles
Opendata arlesOpendata arles
Opendata arles
 
Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2Ns biodiversity next julien corny rovellotti olivier 2
Ns biodiversity next julien corny rovellotti olivier 2
 
The quest for new empowered citizen scientists
The quest for new empowered citizen scientistsThe quest for new empowered citizen scientists
The quest for new empowered citizen scientists
 
A la découverte de l'ux design
A la découverte de l'ux designA la découverte de l'ux design
A la découverte de l'ux design
 
Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie Gamification, Ludification de l’expérience énergie
Gamification, Ludification de l’expérience énergie
 
Le donut tour metropole
Le donut tour metropoleLe donut tour metropole
Le donut tour metropole
 
Ns ux-emotion
Ns ux-emotionNs ux-emotion
Ns ux-emotion
 
Ns ux-ethique
Ns ux-ethiqueNs ux-ethique
Ns ux-ethique
 
Datasud barcamp
Datasud barcampDatasud barcamp
Datasud barcamp
 
Datasud barcamp 2
Datasud barcamp 2Datasud barcamp 2
Datasud barcamp 2
 
Scapin et bastien
Scapin et bastienScapin et bastien
Scapin et bastien
 
Ns cleo lodel ux
Ns cleo lodel uxNs cleo lodel ux
Ns cleo lodel ux
 
Ns python web 1
Ns python web 1Ns python web 1
Ns python web 1
 
Ns python 2
Ns python 2Ns python 2
Ns python 2
 
Ns algo 3
Ns algo 3Ns algo 3
Ns algo 3
 
Ns algo 2
Ns algo 2Ns algo 2
Ns algo 2
 
Ns python 1
Ns python 1Ns python 1
Ns python 1
 
Ns algo 1
Ns algo 1Ns algo 1
Ns algo 1
 
Ns ux-session-2
Ns ux-session-2Ns ux-session-2
Ns ux-session-2
 
Ns opendata biodiversite
Ns opendata biodiversiteNs opendata biodiversite
Ns opendata biodiversite
 

Ns python flask 2

  • 3. Le site des étudiants de la classe
  • 4. Etudiant 1 Etudiant 2 Etudiant 3 Etudiant 4 Les étudiants de la classe Etudiant 1 Détail de l’étudiant
  • 5. Les routes from flask import Flask app = Flask(__name__) @app.route('/') def classe(): return 'classe' @app.route('/etudiant') def etudiant(): return 'un etudiants' SET FLASK_DEBUG=1
  • 6. Les routes avec parametres from flask import Flask,render_template app = Flask(__name__) @app.route('/') def classe(): return 'classe' @app.route('/etudiant/<name>') def hello(name=None): return ('bonjour ' + name)
  • 7. Les templates <!DOCTYPE html> <html> <head> <title>un etudiant de la classe</title> </head> <body> <div class="container"> <p>Etudiant : {{name}}</p> </div> </body> </html> @app.route('/etudiant/<name>') def hello(name=None): return render_template('TemplateEtudiant.html', name=name)
  • 8. Les templates <!DOCTYPE html> <html> <head> <title>un etudiant de la classe</title> </head> <body> <div class="container"> <p>Etudiant : {{name}}</p> </div> </body> </html> @app.route('/etudiant/<name>') def hello(name=None): return render_template('TemplateEtudiant.html', name=name)
  • 9. Les templates <!DOCTYPE html> <html> <head> <title>un etudiant de la classe</title> </head> <body> <h1>Voila la liste des etudiants</h1> <div class="container"> {% for key, value in dictionaire.items() %} <li> <a href="./etudiant/{{ key }}">{{ key }}</a></li> {% endfor %} </div> </body> </html> dictionaire = {"Olivier": '0609566656', "Kevin": '065567785',"Shana": '065767785'} @app.route('/') def classe(): return render_template('TemplateClasse.html', dictionaire=dictionaire)
  • 10. <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='style.css') }}"> body { font-family: sans-serif; background: #eee; } a, h1, h2 { color: black; } h1, h2 { font-family: 'Georgia', serif; margin: 0; } h1 { border-bottom: 2px solid ; background-color:lightgrey } h2 { font-size: 1.2em; } Les styles
  • 11. <form method="POST" action="{{ url_for('add_post') }}"> <dl> <dt>Nom: <dd><input type="text" size="30" name="name"> <dt>Telephone: <dd><input type="text" size="30" name="telephone"> <dd><input type="submit" value="Ajouter"> </dl> </form> Les Ajouts @app.route('/add_etudiant', methods=['POST']) def add_post(): name= request.form['name'] telephone= request.form['telephone'] dictionaire[name] = telephone return redirect(url_for('classe'))