#! /usr/bin/python
# -*- coding:utf-8 -*-
from flask import Flask, request, render_template, redirect, flash
= Flask(__name__)
app = 'une cle(token) : grain de sel(any random string)'
app.secret_key
## à ajouter
from flask import session, g
import pymysql.cursors
def get_db():
if 'db' not in g:
= pymysql.connect(
g.db ="localhost", # à modifier
host="login", # à modifier
user="secret", # à modifier
password="BDD_votrelogin", # à modifier
database='utf8mb4',
charset=pymysql.cursors.DictCursor
cursorclass
)return g.db
@app.teardown_appcontext
def teardown_db(exception):
= g.pop('db', None)
db if db is not None:
db.close()
L’instruction @app.teardown_appcontext
permet d’appeler la fonction close_connection
lorsque que le serveur a fini de renvoyer une réponse.
Il faut recréer et fermer la connexion à chaque requête HTTP, sinon il y a un risque de fuite de mémoire
Exemple de code pour ajouter/modifier/supprimer et afficher le contenu de la table “type_article” et début du CRUD sur la table “article”
Complèter sur le même principe, le CRUD pour ajouter/modifier/supprimer et afficher les données de la table article
Pour le “DELETE”, il est possible de faire comme avec le “CRUD” sur les types d’articles
on désire faire une interface avec des filtres sur les articles