== Flask : Gérer l'authentification avec Flask-Login ======
Charger l'environnement virtuel Python du projet et installer le paquetage **Flask-Login** :
<code bash>
pip install Flask-Login
</code>
===== Création d'un Blueprint =====
On va s'appuyer sur le système de Blueprint de Flask afin de pouvoir regrouper les ressources et fonctionna
ef="packets")
app = Flask(__name__)
# Le chemin vers la base SQLite est relatif au dossier de l'a... s
>>> packets = Packet.query.all()
>>> for packet in packets :
... print(f"<Packet {packet.id} sender={packet.sender} recipient={packet.recipient}> in {packet.warehouse.name}>")
...
<Packet 1 sender=Yoann recipient=Mariel> in CentralRepository>
<Packet 2 sender=Annie recipie
roducts.png}}
MCD via diagramme UML
* Un magasin (Shop) vend un ou plusieurs produits (Product);
* Un produit est stocké dans un seul magasin.
===== Implémentation =====
Ci-dessous l'applic... if self.id is None :
# Le magasin doit exister en base avant d'ajouter un produit
... application flask
app = Flask(__name__)
# Le chemin vers la base SQLite est relatif au dossier de l'a
irtuel Python
python3 -m venv .venv
source .venv/bin/activate
# Installation de Flask et de l'extens... données ;
- Créer et appliquer une migration afin de vérifier que la base existante peut utiliser n... e-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(... packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, paramete
contient bien les deux sous-catégories
>>> for c in root_cat.children :
... print(c.label)
...
r1-... # Ensure FOREIGN KEY for sqlite3
if 'sqlite' in app.config['SQLALCHEMY_DATABASE_URI']:
de... e-packages/sqlalchemy/engine/base.py", line 1967, in _exec_single_context
self.dialect.do_execute(... packages/sqlalchemy/engine/default.py", line 951, in do_execute
cursor.execute(statement, paramete
.com/questions/12162634/where-do-i-define-the-domain-to-be-used-by-url-for-in-flask|Comment définir le nom de domaine de l'application Flask (stackoverflo... questions/13317536/get-list-of-all-routes-defined-in-the-flask-app|Comment obtenir la liste des routes
ascader les suppressions =====
:TODO_DOCUPDATE:
In order to clarify this a little.. ondelete="CASCAD... h12/unlocking-the-power-of-composite-primary-keys-in-sqlalchemy-b378fb975e9b
* https://www.devgem.io/posts/how-to-correctly-define-a-primary-key-in-sqlalchemy-with-sqlite-backend
def create_user(name):
"""Add an user with name in argument."""
click.echo(f"Add an user with name... def delete_user(name):
"""Remove user with name in argument."""
click.echo(f"Remove an user with n
[https://youtu.be/UmC26YXExJ4|How to POST request in a Python Website using AJAX ?]]
* Vidéo : [[htt... tu.be/nF9riePnm80|Flask AJAX Tutorial: Basic AJAX in Flask app ]]
* Vidéo : [[https://youtu.be/ZEv4A
l()
>>> mc
[<MarkerCategory id=2 name="memo" builtin=True icon=/static/img/notepad_9021656_icon.png ma... tps://dnmtechs.com/catching-sqlalchemy-exceptions-in-python-3-programming/|Traitement des exceptions S
.status_code == 200
assert b"<h1>A propos</h1>" in response.data
</code>
Dans cet exemple le test p... est-routes-created-using-flask
* https://www.digitalocean.com/community/tutorials/unit-test-in-flask