Ns python flask 3

17
Session 3/3 Olivier Rovellotti Python flask

Transcript of Ns python flask 3

Session 3/3

Olivier Rovellotti

Python flask

Lancer Flask

Set FLASK_APP=mypython.py

flask run

Etudiant 1

Etudiant 2

Etudiant 3

Etudiant 4

Les étudiants de la classe Etudiant 1

Détail de l’étudiant

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)

<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

And now ?

Cool : Database API Specification !

PEP 248 PEP 248 PEP 248 PEP 248

Si vous avez déjà travaillé avec une autre interface compatible, vous devriez sans trop de problèmes retrouver vos points de repère.

PEP 248

connectcursor

execute

SQLite, hyper lite

• Created by D. Richard Hipp • Offline Applications • Small Size around 0.5 MB • Entire database in a single file• Server less applications

Outil: http://sqlitebrowser.org/

Code:

import sqlite3

conn = sqlite3.connect(«….»)

cursor = conn.cursor()

cursor.execute (« select * from ... »)

for row in cursor: print(row)

Lire des données

@app.route('/')

def classe():

conn = sqlite3.connect(‘ …… ‘)

cursor = conn.cursor()

liste = cursor.execute ('select * from etudiant')

return render_template('TemplateClasse.html', liste=liste)

conn.close() {% for row in liste%} <tr> {% for d in row %} <td>{{ d }}</td> {% endfor %} </tr>{% endfor %}

INSERT INTO etudiant (id,nom,telephone) VALUES ('{}','{}','{}')""".format(1,name,telephone

Ecrire des doné[email protected]('/add_etudiant', methods=['POST'])def add_post():

name= request.form['name'] telephone = request.form['telephone'] conn = sqlite3.connect(‘….') cursor = conn.cursor() t = cursor.execute("""INSERT INTO etudiant (id,nom,telephone) VALUES ('{}','{}','{}')""".format(1,name,telephone) ) conn.commit() conn.close() return redirect(url_for('classe'))

Twitter: @orovellotti www.natural-solutions.eu

Merci

[email protected]